CWN(CHANGE WITH NEWS) - 아나콘다, 개방형 JIT 컴파일러 ′넘바′ 출시

  • 맑음진주8.0℃
  • 맑음군산3.4℃
  • 맑음고산9.8℃
  • 맑음인천-3.0℃
  • 맑음양산시9.3℃
  • 구름조금장수1.3℃
  • 구름많음완도7.1℃
  • 맑음제천-2.0℃
  • 맑음대전3.0℃
  • 맑음수원-1.2℃
  • 구름조금보은1.7℃
  • 맑음포항6.0℃
  • 맑음영천5.3℃
  • 맑음강릉1.5℃
  • 맑음원주-1.0℃
  • 맑음북부산9.5℃
  • 구름조금제주10.2℃
  • 맑음울진4.7℃
  • 구름많음진도군6.7℃
  • 맑음합천7.3℃
  • 맑음서울-2.1℃
  • 구름많음고창3.8℃
  • 맑음충주0.6℃
  • 맑음철원-4.7℃
  • 맑음김해시8.8℃
  • 맑음금산3.4℃
  • 맑음의령군6.7℃
  • 구름조금강진군6.9℃
  • 맑음문경0.7℃
  • 맑음홍천-2.1℃
  • 맑음북창원8.4℃
  • 맑음영덕3.8℃
  • 맑음봉화-1.3℃
  • 맑음남해8.2℃
  • 맑음의성3.4℃
  • 맑음정읍3.6℃
  • 구름많음광주5.1℃
  • 구름조금청주1.6℃
  • 맑음전주4.6℃
  • 구름많음해남5.7℃
  • 맑음영주-0.4℃
  • 맑음거제8.9℃
  • 맑음산청4.8℃
  • 구름조금임실4.6℃
  • 구름많음영광군4.3℃
  • 맑음부안4.6℃
  • 맑음상주2.5℃
  • 맑음통영8.5℃
  • 맑음구미4.4℃
  • 구름조금보령2.6℃
  • 맑음양평-1.2℃
  • 맑음북춘천-2.8℃
  • 맑음영월-1.3℃
  • 맑음거창5.2℃
  • 맑음서청주0.7℃
  • 맑음경주시5.6℃
  • 맑음속초0.0℃
  • 구름조금남원4.6℃
  • 구름많음서산-0.2℃
  • 구름많음목포4.1℃
  • 맑음청송군1.6℃
  • 맑음정선군-2.3℃
  • 맑음창원9.3℃
  • 맑음파주-3.8℃
  • 맑음인제-3.3℃
  • 맑음함양군5.0℃
  • 맑음태백-4.1℃
  • 맑음부여3.7℃
  • 구름많음백령도-2.6℃
  • 구름조금세종2.2℃
  • 맑음순천5.7℃
  • 맑음순창군3.7℃
  • 맑음북강릉0.5℃
  • 맑음대구5.4℃
  • 구름조금천안0.5℃
  • 맑음춘천-1.8℃
  • 맑음고흥7.5℃
  • 맑음보성군7.3℃
  • 맑음여수7.6℃
  • 맑음부산10.1℃
  • 구름조금홍성1.8℃
  • 맑음안동1.7℃
  • 구름조금고창군3.5℃
  • 구름조금장흥7.2℃
  • 맑음서귀포11.4℃
  • 구름조금울릉도2.4℃
  • 맑음추풍령2.2℃
  • 맑음동해2.6℃
  • 맑음밀양8.2℃
  • 맑음대관령-7.0℃
  • 구름조금흑산도6.6℃
  • 맑음울산7.2℃
  • 맑음이천0.4℃
  • 맑음동두천-3.0℃
  • 맑음성산10.0℃
  • 맑음강화-3.2℃
  • 맑음광양시7.9℃
  • 2026.01.13 (화)

아나콘다, 개방형 JIT 컴파일러 '넘바' 출시

안하영 / 기사승인 : 2023-01-02 13:27:45
  • -
  • +
  • 인쇄

아나콘다(Anaconda)가 개방형 JIT(Just-In-Time) 컴파일러 넘바(Numba)를 출시했다.

빅데이터·인공지능 전문매체 애널리틱스 인디아 매거진(Analytics India Magazine)에 따르면, 아나콘다는 최근 파이썬, 넘파이 코드의 하위 집합을 빠른 기계 코드로 변환하는 개방형 JIT(Just-In-Time) 컴파일러 넘바(Numba)를 출시했다.

넘바는 2배(단순 넘파이 작업)에서 100배(복잡한 파이썬 루프)까지 더 빠른 속도로 실행하는 기계 코드로 호출 시 파이썬 함수 변환이 가능하다.

넘바를 사용할 가장 효과적인 방법은 데코레이터 중 하나를 함수에 적용하고 컴파일하도록 지시하는 것이다. 코드의 전부나 일부는 넘바로 장식된 함수를 호출할 때 네이티브 머신 코드 속도로 실행된다.

사이파이(Scipy)를 사용하면, Numpy.linalg 함수를 컴파일할 수 있다. 또한 콜로라마(Colorama)를 사용하면 오류 메시지 및 역추적에서 색상 강조 표시를 사용할 수 있다. pyyaml은 YAML 구성 파일을 통해 넘바 구성을 지원한다. 인텔(Intel) SVML(고성능 짧은 벡터 수학 라이브러리, x86 64 전용)은 icc_rt와 함께 사용할 수 있다.

넘바는 장식된 함수의 파이썬 바이트코드를 읽은 다음 함수의 입력 매개변수 유형에 대한 세부 정보와 혼합한다. 그 후 LLVM 컴파일러 라이브러리를 사용해 코드를 분석하고 최적화한 후 CPU 기능에 적합한 함수의 머신 코드 버전을 생성한다. 컴파일 버전은 함수가 호출될 때마다 사용된다.

넘바는 노파이썬(nopython) 모드에서 실행되거나 일부 루프를 컴파일할 수 있다고 가정해 특정 CPU에 맞게 컴파일을 변경한다. 응용 프로그램에 따라 속도 증가 범위는 1~2배다. 넘바는 약간의 코드 변경으로 CPU 및 GPU용 코드를 병렬화하기 위한 다양한 선택을 제공한다.

또한 여러 CPU 코어에서 넘파이(NumPy) 배열 표현식을 자동으로 실행할 수 있어 병렬 루프를 쉽게 작성할 수 있다. 이와 함께 일부 루프를 2~4배 속도 증가를 위한 벡터 명령으로 자동 변환할 수 있다. CPU가 SSE, AVX 또는 AVX-512를 지원하든 상관없이 넘바는 해당 기능에 적응한다. 아울러 넘바를 사용하면 파이썬에서 완전히 병렬 GPU 알고리즘을 생성할 수 있으며 엔비디아(NVIDIA) CUDA를 지원한다.

애널리틱스 인디아 매거진은 “넘바를 처음 처음 사용하는 사용자가 소스 코드에서 넘바를 컴파일하는 것은 권장하지 않는다”라며, “핵심 요소로 자주 사용되기 때문에 이에 대한 종속성은 최소로 유지된다“라고 설명했다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

안하영
안하영

기자의 인기기사

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue