modular/mojo-gpu-puzzles

Learn GPU Programming in Mojo🔥 by Solving Puzzles

Mojo 🔥 GPU 퍼즐 – 무엇인가요

Mojo GPU PuzzlesMojo 에서 GPU 코드를 작성하는 방법을 가르치는 오픈소스이고 인터랙티브한 학습 키트입니다. Modular의 시스템 수준 언어인 Mojo는 Python과 유사한 구문과 컴파일된 코드의 성능을 결합합니다. 이 리포지토리는 자체 포함된 퍼즐(문제 파일)과 그 해답, 그리고 실제 GPU에서 코드를 빌드하고 실행하며 테스트할 수 있는 도구를 포함하고 있습니다.


왜 중요한가요

  • Mojo는 AI 하드웨어 프로그래밍을 위한 차세대 언어로 위치 지정되었습니다 – 비용 없는 추상화, 강력한 정적 타입 시스템, 내장된 텐서 프리미티브를 제공하면서도 Python처럼 느껴집니다.
  • GPU를 직접 프로그래밍하는 능력은 고성능 AI 워크로드(모델 학습, 추론, 사용자 정의 커널)의 핵심 기술입니다. 이 퍼즐들은 교과서의 부담 없이 실전 경험을 제공합니다.
  • 이 프로젝트는 CI 파이프라인, 사니타이저, pixi 기반 개발 환경을 제공하여 정적인 튜토리얼이 아니라 현실적이고 실행 가능한 코드베이스입니다.

시작하기

  1. 사전 조건 – CUDA 호환 NVIDIA GPU (드라이버 ≥ 580 / CUDA 13.0).
  2. stable 브랜치(라이브 웹 버전과 일치)를 클론하거나, 기여할 계획이라면 main을 사용합니다.
    git clone --branch stable https://github.com/modular/mojo-gpu-puzzles
    cd mojo-gpu-puzzles
    
  3. 추천 패키지 매니저 pixi 설치 (Modular의 MAX/Mojo 패키지 및 GPU 종속성 관리).
    curl -fsSL https://pixi.sh/install.sh | sh
    
  4. 로컬에서 퍼즐 북을 빌드하고 보기:
    pixi run book   # http://localhost:3000 에서 mdBook 서버 실행
    
  5. problems/pXX/ 아래의 해당 파일을 편집하여 퍼즐을 풀어보세요. 스켈레톤에는 # FILL ME IN 플레이스홀더가 포함되어 있으며, 코드만 추가하면 됩니다.
  6. GPU에서 솔루션을 테스트하세요:
    pixi run tests p05   # 퍼즐 5의 GPU 가속 테스트 실행
    
    선택적으로 디버깅을 위해 memcheck, racecheck 등의 사니타이저가 제공됩니다.

개발 및 기여

  • 이 리포지토리는 모든 개발 명령어(북 빌드, 포맷팅, 테스트 실행, NVIDIA의 compute-sanitizer 호출)에 pixi를 사용합니다.
  • CI 체크는 문제 스켈레톤이 해답과 동기화되어 있고, 아직 채워지지 않은 퍼즐이 여전히 컴파일 가능함을 보장합니다.
  • 기여를 환영합니다: 설명을 개선하거나, 버그를 수정하거나, 새로운 퍼즐을 추가하세요. 일반적인 포크-브랜치-PR 워크플로우를 따르고, 버그 리포트 및 기능 요청을 위한 이슈 템플릿을 확인하세요.

커뮤니티 및 지원

  • Discord: discord.gg/modular – 다른 학습자들과 Modular 팀과 실시간 채팅.
  • Modular 포럼: 더 깊은 질문을 위한 토론 스레드.
  • 뉴스레터: README의 링크를 통해 구독하여 새로운 퍼즐 에디션 출시 시 업데이트를 받으세요.

라이선스

코드는 LLVM 라이선스 하에 배포되며, 허용적인 오픈소스 라이선스입니다.


결론: Mojo GPU Puzzles 는 AI와 고성능 컴퓨팅에서 점점 더 중요해지는 Mojo 언어에서 실질적인 GPU 프로그래밍 경험을 얻을 수 있는 구체적이고 실행 가능한 교육 프로젝트입니다.

관련

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • 프로젝트