예제로 배우는 CUDA 프로그래밍

330p
구매 가능한 곳

코멘트

1

더 많은 코멘트를 보려면 로그인해 주세요!

목차

1장. 왜 CUDA인가? 왜 지금인가? 1.1 이번 장의 목표 1.2 병렬 프로세싱의 시대 1.3 GPU 컴퓨팅의 도래 1.4 CUDA 1.5 CUDA를 이용한 어플리케이션 1.6 요약 2장. 시작하기 2.1 이번 장의 목표 2.2 개발 환경 2.3 요약 3장. CUDA C에 대한 소개 3.1 이번 장의 목표 3.2 첫 번째 프로그램 3.3 디바이스 정보 질의하기 3.4 디바이스 속성 이용하기 3.5 요약 4장. CUDA C를 이용한 병렬 프로그래밍 4.1 이번 장의 목표 4.2 CUDA 병렬 프로그래밍 4.3 요약 5장. 스레드 협력 5.1 이번 장의 목표 5.2 병렬 블록들을 분할하기 5.3 공유메모리와 동기화 5.4 요약 6장. 상수 메모리와 이벤트 6.1 이번 장의 목표 6.2 상수 메모리 6.3 이벤트를 이용한 성능 측정 6.4요약 7장. 텍스처 메모리 7.1 이번 장의 목표 7.2 텍스처 메모리 개요 7.3 열전달 시뮬레이션 7.4요약 8장. 그래픽스 상호운용성 8.1 이번 장의 목표 8.2 그래픽스 상호운용 8.3 그래픽스 상호운용을 이용한 GPU 물결 8.4 그래픽스 상호운용을 이용한 열전달 8.5 DirectX 상호운용성 8.6 요약 9장. 원자 9.1 이번 장의 목표 9.2 계산 능력 9.3 원자적 연산 개요 9.4 히스토그램 계산 9.5 요약 10장. 스트림 10.1 이번 장의 목표 10.2 잠긴 페이지의 호스트 메모리 10.3 CUDA 스트림 10.4 하나의 CUDA 스트림 이용 10.5 다수의 CUDA 스트림 이용 10.6 GPU 작업 스케줄링 10.7 효과적인 다수의 CUDA 스트림 이용 10.8 요약 11장. 다중 GPU 상의 CUDA C 11.1 이번 장의 목표 11.2 무복사 호스트 메모리 11.3 다수의 GPU 이용하기 11.4 이식이 가능한 고정 메모리 11.5 요약 12장. 최종 카운트다운 12.1 이번 장의 목표 12.2 CUDA 툴 12.3 문서로된 자료 12.4 코드로된 자료 12.5 요약 부록. 고급 원자 A.1 돌아온 내적 예제 A.2 해시 테이블 구현 A.3 요약

출판사 제공 책 소개

예제로 배우는 CUDA 프로그래밍: 입문자를 위한 GPGPU 프로그래밍의 기초 "이 책은 가속기 기반(accelerator-based)의 컴퓨팅 시스템에서 작업을 수행하는 이들이 읽어야 할 책이다." - 잭 돈가라(Jack Dongarra), 테네시 대학 오크리지 국립 연구소 - 《예제로 배우는 CUDA 프로그래밍》은 최근 대용량 병렬 가속기들의 프로그래밍 문제에 대한 가장 혁신적이고 강력한 해결책 중 하나를 이용함으로써 소프트웨어 개발에서의 문제의 핵심을 설명한다. 이 책은 여러분에게 예제, 프로그램을 구성하는 과정, NVIDIA GPU를 효율적으로 사용하는 통찰력을 제공함으로써 CUDA C 프로그래밍에 대한 소개를 한다. 또한 간단한 예제부터 (로직과 성능을 포함한) 디버깅까지 입문자들을 위한 병렬 컴퓨팅의 개념들을 설명한다. 그뿐만 아니라, 고급 주제 및 많은 어플리케이션들을 이용하고 구축하면서 발생하는 문제들도 다루고 있다. 이 책에서는 프로그래밍 예제들을 통하여 제시한 개념들을 보강한다. CUDA는 병렬 프로그램 개발이 가능하도록 설계된 컴퓨팅 아키텍처다. CUDA 아키텍처는 대규모 소프트웨어 플랫폼에서 프로그래머들이 고성능 어플리케이션을 제작할 때 GPU(그래픽스 프로세서 유닛)의 막강한 성능을 이용할 수 있게 도와준다. 물론 GPU는 오랫동안 그래픽스와 게임 어플리케이션에서 이용 가능하였지만, 지금은 CUDA가 과학, 엔지니어링, 금융을 포함한 다른 분야에서 어플리케이션을 제작하는 프로그래머들에게 GPU의 가치 있는 자원을 제공해준다. 그래픽스 프로그래밍에 대한 지식이 필요 없으며, 단지 조금 확장된 C 언어로 프로그래밍할 수 있는 능력만 있으면 누구나 배울 수 있다. CUDA 소프트웨어 플랫폼 팀의 두 명의 책임이 집필한 예제로 배우는 CUDA 프로그래밍은 새로운 기술을 이용하는 방법을 프로그래머들에게 보여준다. 저자들은 동작하는 예제들을 통해 CUDA 개발에서의 각 부문을 소개한다. 이 책에서는 CUDA 플랫폼 및 아키텍처에 대한 간결한 소개와 CUDA C에 대한 빠른 학습을 가이드하고 난 후, CUDA의 주요 특징들과 관련된 기술들과 그들 간의 균형 있는 사용법에 대해 상세히 설명한다. 여러분은 이 책에서 CUDA C의 확장 문법들과 정말 뛰어난 성능의 CUDA 소프트웨어를 작성하는 방법을 발견할 것이다. 이 책에 포함된 주요 주제들 - 병렬 프로그래밍 - 원자 - 스레드 협력 - 스트림 - 상수 메모리와 이벤트 - 다중 GPU 상에서의 CUDA C - 텍스처 메모리 - 고급 원자 - 그래픽스 상호운용성 - 그 외의 CUDA 자원들 여러분이 필요로 하는 모든 CUDA 소프트웨어 툴들은 NVIDIA에서 무료로 다운로드 가능하다. 독자 대상 이 책은 가속 기반의 컴퓨팅 시스템을 이용하여 작업을 수행하는 사람들을 대상으로 하고, 컴퓨팅을 깊이있게 살펴보며 직면할 수도 있는 많은 문제들에 대한 해결 방안들을 제시한다. 특히 어플리케이션 개발자, 수치와 관련된 라이브러리 작성자, 병렬 컴퓨팅을 가르치는 선생님 및 학생들에게 유용하다. 이 책은 컴퓨터 그래픽 처리 장치(GPU)의 능력을 이용함으로써, 광범위의 어플리케이션들을 위한 고성능 소프트웨어를 작성하는 방법을 보여준다. 원래 GPU는 하나의 모니터 상에서 컴퓨터 그래픽을 렌더링하기 위해 설계되었지만(여전히 이 목적으로 사용되고 있다) 과학, 엔지니어링, 금융 등 다른 분야에서도 동일하게 요구되는 프로그램들 때문에 점점 더 많은 요구를 받고 있다. 우리는 그래픽 분야가 아닌 문제들을 다루는 GPU 프로그램들을 총괄적으로 범용(general-purpose) GPU 프로그램이라고 부른다. 여러분이 이 책으로부터 무언가를 배우기 위해서는 C나 C++에 대한 일부 경험이 필요하겠지만, 다행히도 컴퓨터 그래픽스에 대한 지식은 전혀 필요하지 않다. 여러분은 단순히 여러분의 기존 프로그래밍 기술에 GPU 프로그래밍 기술을 쌓을 수 있는 하나의 기회만 제공받을 뿐이다. 여러분은 범용의 계산 작업들을 수행하는 NVIDIA GPU들을 프로그래밍하기 위해서 CUDA가 무엇인지 알고자 할 것이다. NVIDIA GPU들은 CUDA 아키텍처로 알려진 것을 기반으로 제작되었으며, 이 CUDA 아키텍처는 본래의 그래픽스 렌더링 작업들과 범용의 작업을 수행할 수 있는 GPU를 제작하기 위한 NVIDIA의 의도로 볼 수 있다. CUDA가 가능한 GPU들을 프로그래밍하기 위해서 여러분은 CUDA C라는 언어를 이용할 것이다. 이 책의 도입부에서 보겠지만, CUDA C는 근본적으로 C와 같으며 NVIDIA GPU들과 같은 대용량 병렬 기계들을 프로그래밍 할 수 있게 소수의 확장 문법들을 제공한다. 이 책은 C 코드를 무난하게 읽거나 작성할 수 있을 정도로 C나 C++에 어느 정도 친숙한 프로그래머들을 대상으로 집필되었다. 이 책은 여러분이 C 언어에 어느 정도 경험이 있다는 전제하에 작성되었으며, NVIDIA의 CUDA C 프로그래밍 언어를 빠르게 학습할 수 있도록 예제 중심으로 기술되었다. 여러분이 큰 규모의 소프트웨어 아키텍처를 다뤄봤거나 C 컴파일러 및 운영체제 커널을 작성해 봤거나 ANSI C 표준을 결코 상세히 알고 있을 필요는 없지만, 이 책에서는 C 문법이나 malloc(), memcpy()와 같은 일반 C 라이브러리 함수들을 살펴보기 위한 시간은 할애하지 않는다. 따라서 우리는 여러분이 이러한 것들에 대해서는 이미 상당히 익숙하다고 가정할 것이다. 비록 이 책은 일반 병렬 프로그래밍 패러다임을 다루고 있지 않지만, 여러분은 일반 병렬 프로그래밍 패러다임을 고려해야 하는 일부 기술들과 직면할 것이다. 또한 이 책은 거의 모든 CUDA API들을 살펴보긴 하겠지만 광범위한 API 참고서로서 제공되지는 않을 뿐만 아니라, CUDA C 소프트웨어 개발을 하기 위해 사용할 수 있는 모든 툴에 대해서도 세세하게 다루지는 않을 것이다. 따라서 여러분이 이 책을 NVIDIA에서 무료로 제공하는 문서들, 특히 NVIDIA CUDA Programming Guide와 NVIDIA CUDA Best Practices Guide를 병행해서 보길 강력히 추천한다. 그렇다고 이러한 문서들을 확보하는 데 스트레스 받을 필요는 없다. 왜냐하면 이 책이 여러분이 해야 할 모든 것들을 알려줄 것이기 때문이다. CUDA C와 함께 NVIDIA GPU 프로그래밍의 세계가 바로 지금 여러분을 기다리고 있다!

본 사이트의 모든 콘텐츠는 왓챠피디아의 자산이며, 사전 동의 없이 복제, 전재, 재배포, 인용, 크롤링, AI학습, 데이터 수집 등에 사용하는 것을 금지합니다.

  • 주식회사 왓챠
  • 대표 박태훈
  • 서울특별시 서초구 강남대로 343 신덕빌딩 3층
  • 사업자 등록 번호 211-88-66013