컴퓨터 공학 Computer Engineering/병렬 컴퓨팅 Parallel Computing 3

[CUDA] 쿠다 프로그램 작성해보기 (.cu 확장자)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! 글에 포함된 코드의 개발 환경은 아래와 같습니다. - CUDA : CUDA v11.4 - IDE : Visual Studio 2019 - OS : Windows 10 CUDA 프로젝트 만들기 최근에는 Visual Studio 내에서 CUDA 프로젝트를 손쉽게 만들 수 있습니다. 새 프로젝트 만들기를 선택하고 스크롤을 내려보면 아래 그림과 같이 CUDA 프로젝트를 만들 수 있습니다. (CUDA를 설치해 놓지 않았으면 설치부터 해야합니다.) .CU 확장자 위와 같이 쿠다 프로젝트를 만들면 소스 코드의 확장자 명이 .cu 인 것을 확인할 수 있습니다. 모든 쿠다 프로그램은 확장자 명으로 .cu 를 사용합..

CUDA 소개 (GPGPU, 지원 언어)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! CUDA(Comute Unified Device Architecture)는 이름에서도 확인 가능하듯이 기기나 프로그래밍 언어가 아닌 하나의 시스템(또는 모델)이다. 엔비디아(NVIDIA)가 개발, 관리하고 있으며 이 아키텍처를 사용하기 위해서는 엔비디아 GPU와 특별한 처리 드라이버가 필요하다. GPGPU 먼저 쿠다에 대한 얘기를 하기 전, GPGPU라는 기술에 대해 알아야 한다. 예전의 GPU는 일반적으로 컴퓨터 그래픽스 분야에 주로 활용했다. GPGPU(General Purpose computing on Graphics Processing Units)는 일반적으로 컴퓨터 그래픽스를 위한 계산에 ..

병렬 컴퓨팅 소개 (CPU, GPU, 발전 과정)

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다! CPU와 GPU 중앙 처리 장치, CPU(Central Processing Unit)는 컴퓨터가 계산하는데 있어 가장 핵심적인 부품으로 보통 1개의 독립된 칩 형태. 그래픽스 처리 장치, GPU(Graphics Processing Unit)는 보통 카드 형태. 이 전에는 CPU가 주로 계산을 담당, GPU가 화면을 출력하는 용도로 쓰였던 것에 반해, 최근에는 GPU 즉 그래픽 카드를 계산에 사용하는 추세다. 간단하게 차이점을 보자면 CPU와 달리 GPU는 코어가 많음. CPU는 복잡한 계산을 빠르게 할 수 있지만, 모두 직렬로 처리. GPU는 간단한 계산을 빠르게 할 수 있고, 많은 연산을 병렬로 ..