Mojo 프로그래밍 언어
Python 은 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나로 사용자 친화적인 성격 덕분에 다양한 분야에서 활발하게 활용되고 있습니다. 웹 개발자, 데이터 과학자, 마케터, 그리고 AI 전문가들까지, 여러 분야의 전문가들이 Python 을 선호하는 이유는 초보자도 쉽게 배울 수 있고 읽기와 쓰기가 쉽기 때문입니다.
그러나 Python 은 C++ 이나 Rust 와 비교했을 때 실행 속도가 느리고 배포 과정이 복잡하다는 단점이 있습니다. 반면, C++ 은 속도가 빠르지만 배우고 사용하기 어렵다는 문제점이 있죠. 이런 문제를 해결하기 위해 등장한 언어가 바로 Mojo입니다.
0.1 Mojo🔥의 특징
Mojo 는 Python 과 유사한 구문을 제공하면서도 병렬 처리를 최적화한 컴파일러 인프라인 MLIR 을 사용하여 성능을 크게 향상시킵니다. 특히, Mojo 를 사용하면 AI 모델을 병렬 처리하여 더 빠르고 효율적으로 실행할 수 있습니다. 실제로 Mojo 는 Python 보다 약 35,000배 빠른 속도를 자랑합니다. 또한 Mojo 는 Python 과 완벽한 호환성을 목표로 하고 있어, 기존의 Python 코드를 거의 그대로 사용할 수 있으며 추가적인 강력한 기능도 제공합니다.
따라서, 현재 사용 중인 모든 Python 패키지와 라이브러리는 Mojo 에서 문제없이 동작합니다. 특히 Mojo 는 AI 하드웨어를 프로그래밍하는 데 사용할 수 있는데, 이는 기존의 언어로는 구현하기 어려운 복잡한 AI 하드웨어의 구조를 쉽게 처리할 수 있도록 도와줍니다.
C++
이나 CUDA 와 같은 기존의 고성능 프로그래밍 언어는 배우기 어렵다는 단점이 있지만, Mojo 는 이러한 복잡성을 없애고 누구나 쉽게 AI 하드웨어를 프로그래밍할 수 있게 합니다. 더불어, 사전 및 사후 처리 작업을 통해 모델을 쉽게 확장하거나 커스텀 연산을 적용할 수 있어 다양한 AI 작업에서 큰 유연성을 제공합니다. 커널 퓨전, 그래프 재작성, 형상 함수 등 고급 기능을 통해 더욱 효율적인 AI 프로그래밍이 가능합니다.
Mojo 는 Python 의 단점을 보완하면서도, 그 친숙한 구문과 강력한 성능을 결합하여 차세대 AI 프로그래밍을 이끄는 도구로 자리 잡고 있습니다.
Mojo 프로젝트는 이제 막 초기 단계에 있지만, 그 가능성과 전망은 매우 인상적입니다. 아직 시작 단계이지만, Mojo 가 앞으로 가져올 변화와 잠재력을 생각하면 기대감이 큽니다. Mojo 가 제공하는 풍부한 기능과 강력한 성능 향상은 그 자체로 큰 매력이며, 이것이 인공지능과 머신러닝 분야에 어떤 혁신을 가져올지 기대됩니다.
1 Mojo🔥 시작하기
이 글에서는 Mojo로 “Hello world”를 출력하는 방법을 보여드리겠습니다. 다른 Mojo 코드를 작성하는 방법을 읽고 싶으시다면 Mojo 문법 소개를 참조하세요.
1.1 1. 새 프로젝트 만들기
새로운 Mojo 프로젝트를 생성하기 위해 콘다 (Conda) 기반의 가상 환경 관리자이자 패키지 관리자인 magic
을 사용하겠습니다.
다음 명령어로 macOS 또는 우분투 리눅스에서
magic
을 설치합니다:curl -ssL https://magic.modular.com/94d3e79d-46f1-4fa6-9d1b-ee5b81f4b079 | bash
그런 다음 터미널에 출력된
source
명령을 실행합니다.hello-world 라는 Mojo 프로젝트를 생성합니다:
magic init hello-world --format mojoproject
이렇게 하면
hello-world
라는 디렉터리가 생성되고 Mojo 프로젝트 종속성이 설치됩니다 (Mojo 프로젝트의 유일한 종속성은max
패키지로 MAX와 번들 로 제공됩니다.).프로젝트 가상 환경에서 셸을 시작합니다:
cd hello-world && magic shell
이제 가상 환경이 활성화되어 Mojo를 사용해 볼 수 있습니다. 예를 들어 다음과 같이 Mojo 버전을 확인할 수 있습니다:
mojo --version
1.2 2. REPL에서 코드 실행하기
명령 프롬프트에서 Mojo 코드를 작성하고 실행할 수 있는 Mojo REPL을 사용해 보겠습니다:
REPL 세션을 시작하려면
mojo
를 입력합니다.REPL을 종료하려면
:quit
을 입력하고Enter
키를 누르거나Ctrl + D
를 누릅니다.
REPL에서 원하는 만큼 코드를 작성할 수 있습니다. 새 줄을 시작하고 코드 작성을 계속하려면 Enter키를 누르고, Mojo가 코드를 실행하게 하려면 Enter키를 두 번 누릅니다. REPL은 코드가 저장되지 않으므로 주로 짧은 실험에 유용합니다. 따라서 실제 프로그램을 작성하려면 .mojo
소스 파일에 코드를 작성하는 편이 좋습니다.
1.3 3. Mojo 파일 실행하기
이제 Mojo 코드를 파일로 작성하고 mojo
로 실행해 보겠습니다:
hello.mojo
(또는hello.🔥
) 라는 이름의 파일을 만들고 다음 코드를 추가합니다:fn main(): print(“Hello, world!”)
이 정도면 충분합니다. 파일을 저장하고 터미널로 돌아갑니다.
이제
mojo
명령어로 실행합니다:mojo hello.mojo
1.4 4. 실행 가능한 바이너리 빌드
마지막으로 동일한 코드를 실행 파일로 빌드하고 실행해 보겠습니다:
build
명령어로 실행 파일을 만듭니다:mojo build hello.mojo
실행 파일은
.mojo
파일과 동일한 이름을 사용하지만-o
옵션을 사용해 변경할 수도 있습니다.그런 다음 실행 파일을 실행합니다:
./hello
build
명령어는 정적으로 컴파일된 바이너리 파일을 생성하므로 실행에 필요한 모든 코드와 라이브러리가 포함되어 있습니다. 그리고 가상 환경을 비활성화 하려면 exit
를 입력합니다.
exit
1.5 5. GitHub 에서 예제 실행하기
GitHub 의 Mojo 코드 예제에는 Magic 구성 파일이 포함되어 있으므로 간단히 리포지토리를 복제하고 magic
으로 코드를 실행할 수 있습니다. 예를 들어
Mojo 리포지토리를 복제합니다:
git clone https://github.com/modularml/mojo.git
나이틀리(nightly) 빌드를 설치한 경우에만 nightly 브랜치로 체크 아웃하세요:
git checkout nightly
예제로 이동합니다:
cd mojo/examples
코드를 실행합니다:
magic run mojo hello_interop.mojo
2 다음 단계
- Mojo 를 처음 사용하는 경우 Mojo 소개에서 언어 기초를 익히는 것이 좋습니다.
magic
도구에 대해 자세히 알아보려면 Magic 시작하기를 참조하세요.- Mojo 리포지토리](https://github.com/modularml/mojo/) 에서 더 많은 코드 예제를 살펴보세요. 이 리포지토리에는 여러 가지 예제 외에도 Mojo의 고급 기능을 알려주는 Jupyter 노트북이 있습니다.
- 사용 가능한 모든 Mojo API 를 보려면 Mojo 표준 라이브러리 참조를 확인하세요.
- 설치 중 문제가 발생하면 이미 알려진 문제 문문서를 확인하세요.