[MS] TVM
들어가기 앞서, 딥러닝 모델을 특정 디바이스 상에서 효율적으로 동작시키기 위해서는, 동작시킬 딥러닝 모델을, 타겟 디바이스에서 최적의 속도와 정확도를 낼 수 있는 머신 코드로 변환해야합니다. 이러한 코드 변환 작업을 자동으로 지원해주는 도구를, ‘딥러닝 컴파일러’라고 합니다. 딥러닝 컴파일러 개념도 딥러닝 컴파일러는, 다양한 딥러닝 플랫폼에서 학습된 딥러닝 모델을 입력으로 받아, 특정 하드웨어에서 동작 가능한 머신 코드(또는, 백엔드 코드)를 자동으로 생성합니다. 최근 제안된 XLA, TVM, Glow 와 같은 딥러닝 컴파일러들은, TensorFlow, Pytorch, MxNet, ONNX 등의 프레임워크로 작성된 모델을 입력으로 하여, CPU 및 GPU 용 백엔드 코드를 생성하고 있습니다. CPU 용 ..
micro-operations, micro-ops, μops, 마이크로 조작, 마이크로 연산
컴퓨터 중앙 처리 장치에서 마이크로 오퍼레이션(micro-operations, micro-ops, μops, 마이크로 조작, 마이크로 연산)은 일부 디자인에서 복잡한 기계어를 구현하기 위해 사용되는 세세한 저급 명령어이다. (이 문맥에서 매크로 명령이라고 부르기도 한다)[2]:8–9 일반적으로 마이크로 오퍼레이션은 하나 이상의 레지스터에 저장된 데이터의 기초적인 오퍼레이션을 수행하며, 여기에는 CPU 레지스터 간 또는 레지스터와 외부 버스 간 데이터 전송, 그리고 레지스터의 산술 또는 노리 오퍼레이션 수행이 포함된다. 일반 페치-디코드 실행 주기에서 매크로 명령의 각 단계는 실행 중에 분해되므로 CPU는 일련의 마이크로 오퍼레이션을 통해 결정하고 진행한다. 마이크로 오퍼레이션의 실행은 CPU의 제어 장치..