CUDA와 GPU의 병렬 처리 능력을 활용하면 딥러닝을 포함한 컴퓨팅 집약적 애플리케이션을 가속화할 수 있다.
CUDA 는 엔비디아가 자체 GPU에서의 일반 컴퓨팅을 위해 개발한 병렬 컴퓨팅 플랫폼이자 프로그래밍 모델이다, CUDA는 개발자가 연산의 병렬화할 수 있는 부분에 GPU의 성능을 활용해 컴퓨팅 집약적인 애플리케이션의 속도를 높일 수 있도록 해준다.
OpenCL과 같이 GPU용 API도 있고, AMD 같은 다른 업체의 경쟁력 있는 GPU도 있지만, CUDA와 엔비디아 GPU의 조합은 딥러닝을 포함한 여러 애플리케이션 영역을 장악하고 있다. 이 조합은 또한 세계에서 가장 빠른 몇몇 슈퍼컴퓨터의 기반이기도 하다.
그래픽 카드는 PC만큼이나 오래 되었다고 할 수 있다. 물론, 어디까지나 1981년 IBM 모노크롬 디스플레이 어댑터를 그래픽 카드라고 간주하는 경우에 그렇다. 1988년이 되자 ATI(나중에 AMD에 인수)에가 16비트 2D VGA 원더 카드를 내놓았다. 1996년에는 3dfx 인터랙티브가 3D 그래픽 가속기를 출시해 1인칭 슈팅 게임인 퀘이크(Quake)를 최고 속도로 실행할 수 있게 되었다.
엔비디아는 1996년 다소 빈약한 제품으로 3D 액셀러레이터 시장 경쟁에 뛰어들었지만, 시간이 지나면서 그것만으로는 부족함을 알게 되었다. 1999년에 엔비디아는 처음으로 GPU라고 불린 최초의 그래픽 카드 ‘지포스 256’을 선보였다. 당시만 해도 GPU는 주로 게임을 위해서만 사용했다. 사람들이 수학, 과학, 공학에 GPU를 사용한 것은 더 시간이 지나고 나서였다.
CUDA의 기원
2003년에 이안 벅이 이끄는 연구팀은 데이터 병렬 구조로 C를 확장해 최초로 널리 채택된 프로그래밍 모델인 브룩(Brook)을 공개했다. 벅은 이후 엔비디아에 합류해 2006년에 GPU 상의 범용 컴퓨팅을 위한 최초의 상용 솔루션인 CUDA의 출시를 주도한다.
OpenCL vs. CUDA
CUDA의 경쟁자인 OpenCL은 2009년 애플과 크로노스 그룹(Kronos Group)이 인텔/AMD CPU에만 국한되지 않는 이기종 컴퓨팅 표준을 제공하기 위해 출시했다. OpenCL은 그 일반성 때문에 매력적으로 들리지만, 엔비디아 GPU와 CUDA 조합만큼의 성능을 보여주지 못했으며, 많은 딥러닝 프레임워크가 OpenCL을 지원하지 않거나, CUDA를 먼저 지원하고 OpenCL 지원은 추후에 이루어지는 경우가 많다.
CUDA 성능 가속화
CUDA는 몇 년 동안 엔비디아 GPU의 개선과 더불어 활용 범위를 넓혀 왔다. 여러 개의 P100 서버 GPU를 사용하는 CUDA 버전 9.2는 CPU에 비해 최대 50배 향상된 성능을 실현할 수 있다. 로드에 따라서는 V100(이 그림에는 표시되지 않음)이 여기서 추가적으로 3배 더 빠른 성능을 보여준다. 이전 세대의 서버 GPU인 K80은 CPU에 비해 5배~12배 향상된 성능을 보여주었다.
GPU의 속도 향상은 고성능 컴퓨팅에 맞추어 적시에 이루어졌다. 무어의 법칙에 따르면 매 18개월마다 2배로 증가하게 되어 있다고 하는 CPU의 단일 쓰레드 성능 향상은 칩 제조업체들이 칩 마스크 해상도의 크기 제한과 칩 생산량, 그리고 런타임에서의 클럭속도와 열 제한 같은 물리적 한계에 부딪히면서 매년 10%까지 감소해 왔다.
CUDA 적용 영역
그림에서 보듯이 CUDA와 엔비디아 GPU는 높은 부동 소수점 컴퓨팅 성능을 필요로 하는 여러 분야에서 도입했다. 좀더 보다 포괄적인 목록은 다음과 같다.
1. 컴퓨터 재정학(Computational finance)
2. 기후, 날씨 및 해양 모델링
3. 데이터 과학 및 분석
4. 딥러닝 및 머신러닝
5. 국방 및 첩보 활동
6. 제조/AEC(Architecture, Engineering, and Construction): CAD 및 CAE (전산유체역학, 전선구조역학, 설계 및 시각화, 전자설계 자동화 등 포함)
7. 미디어 및 엔터테인먼트(애니메이션, 모델링 및 렌더링, 색 보정 및 그레인 관리, 영상 합성, 편집, 인코딩 및 디지털 배포, 온에어 그래픽, 온세트, 리뷰 및 스테레오 툴, 날씨 그래픽 등).
8. 의료 영상
9. 석유 및 가스
10. 연구: 고등교육 및 슈퍼컴퓨터 (컴퓨터 화학, 생물학, 수치 해석학, 물리학, 과학적 시각화 등)
11. 안전 및 보안
12. 도구 및 관리
딥러닝과 CUDA
딥러닝은 엄청난 연산 속도를 필요로 한다. 예를 들어, 2016년 구글 브레인 및 구글 트랜슬레이트 팀은 구글 번역 모델을 교육하기 위해 GPU를 사용하여 1주일 단위로 수백 차례 텐서플로우를 실행했다. 두 팀은 이를 위하여 엔비디아로부터 2,000대의 서버급 GPU를 구입하기도 했다. GPU가 없었다면, 이런 학습은 1주일이 아니라 몇 달이 걸릴 것이다. 텐서플로우 변환 모델의 생산을 위해 구글은 새로운 맞춤형 칩인 TPU(Tensor Processing Unit)를 사용했다.
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.