소프트웨어

LLVM은 소프트웨어개발의 환경을 변화하게 할것이다


  • 신현묵
    • 기사
    • 프린트하기
    • 크게
    • 작게

    입력 : 2013-05-13 11:32:20

    현존하는 최고 인기의 공개소스 기반의 컴파일러인 LLVM은 정말 많은 것을 변화하게 할것이다.

    그것은 현재 소프트웨어 아키텍트들과 개발자들에게 주된 주목을 받고 있는 병렬 컴퓨터 아키텍처를 손쉽게 자신이 원하는 개발물에 도입할 수 있게 해준다는 것이다.


    대표적인 엔비디아의 병렬 컴퓨팅 아키텍처인 쿠다(CUDA)의 구조는 이미지와 동영상을 처리하고 컴퓨터 생명공학이나 화학공학, 유체 역학 시뮬레이션등에 사용되며, 의료영상의 이미지 해석과 분석, 지진의 분석과 빛 공학의 레이 트레이싱까지 매우 다양한 분야에서 엔비디어의 병렬 컴퓨팅 아키텍처인 쿠다 기반의 GPU컴퓨팅을 활용할 수 있게 해준다.


    다만, 이러한 구조는 프로그래밍 언어를 통하여 구현시에 매우 어렵다는 단점이 있다. 그것은, 이런 병렬아키텍처에 적합한 엔비디아의 NVCC컴파일러나 PGI컴파일러, CAPS의 HMPP컴파일러등의 상용컴파일러를 사용해야 한다는 매우 어려운 적용방법과 언어구조를 익히는 것도 매우 어려운 문제이다.


    하지만, LLVM아키텍처를 사용하면, 새로운 프로그래밍 언어나 프로세스 아키텍처를 매우 쉽게 추가하고 확장할 수 있는 구조를 갖추게 된다. 새로운 프로세스가 출현하거나 환경이 출현한다고 하더라도, LLVM구조를 선택하여 이를 유연하게 대처할 수 있게 해주는 것이다.


    얼마전에 출시한 Delphi XE4도 기존의 FreePascal Compiler를 포기하고 LLVM기반의 아키텍처를 도입함으로써, 윈도우 메트로UI, 맥의 OSX, 아이폰의 iOS와 안드로이드와 같은 다양한 CPU와 GPU, OS를 넘나드는 크로스 플랫폼의 개발이 가능하게된것도 이 LLVM아키텍처가 가지는 힘이 있어서 이다.


    관심있는 개발자라면 http://llvm.org/ 에 주목하고, 관련된 기술을 익혀두는 것이, 미래의 모바일과 다양해지는 멀티디바이스에 적응할 수 있는 중요한 키워드라고 할 수 있겠다.


    베타뉴스 신현묵 (press@betanews.net)
    Copyrights ⓒ BetaNews.net





    http://m.betanews.net/578274?rebuild=on