Nvidia

    CUDA, 병렬 프로그래밍

    💡CUDA CUDA(Computed /unified Device Architecture)는 NVIDIA에서 개발한 GPU 개발 툴로 고성능 환경과 GPU 가속기 환경을 위한 개발 툴이다. CUDA는 CPU가 계산을 하는 부분에서 특정 영역을 GPU 가속기에 할당해서 가속기 쪽에서 처리를 해주는 모델로 구성돼있다. NVIDIA에서 생산한 GPU 제품군에서만 사용이 가능하다. 일반적으로 Serial 코드에서는 어떤 계산을 수행할 때 코어 하나가 순차적으로 프로그램의 순서에 따라서 계산을 수행하지만, CUDA같은 경우에는 CPU쪽에서 계산을 하다가 중간에 루프나 hostpot 같은 부분을 할당 받아서 독립적으로 수행하고 그 결과 값을 return해주는 구조로 계산이 진행된다. 💡Heterogeneous Sys..