• 베스트
  • 소득공제
  • 무료배송
  • 품절

CUDA 기반 GPU 병렬 처리 프로그래밍 - 기초부터 성능 최적화 전략까지

  • 김덕수
  • 비제이퍼블릭
  • 2023년 05월 23일
사용자 평점
0리뷰 0개
10%22,50025,000원
적립금
1,250원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791165922238
쪽수312쪽
크기B5(188mm X 257mm, 사륙배판)
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 시스템공학
관련 이벤트

AI추천 이유

책 소개
GPGPU 기술과 CUDA로 더 많은 데이터를 더 빠르게! 옥타 코어 CPU의 사용도 놀랍지 않은 시대에 GPGPU는 CPU의 연산을 GPU가 담당하게 하여 더 빠르게 더 많은 양의 데이터를 처리할 수 있도록 합니다. 『CUDA 기반 병렬 처리 프로그래밍』은 엔비디아에서 개발한 GPGPU 아키텍처인 CUDA를 기반으로 다양한 방면에서 속도와 효율의 판도를 뒤집는 병렬 처리에 대해 학습합니다. 또한, 비주얼 스튜디오에서의 CUDA 프로그래밍 방법부터 시작해 병렬 처리 코드를 한 줄씩 살펴보며 컴퓨터 구조 내에서는 세부적으로 어떻게 동작하는지 이미지와 함께 구체적으로 간파합니다.
목차
1장 GPGPU 및 병렬 처리 개요 _1.1 GPGPU와 GPU 프로그래밍 _1.2 병렬 처리의 개념 및 필요성 __1.2.1 병렬 처리의 개념 __1.2.2 병렬 처리의 필요성 __1.2.3 병렬 처리 프로그래밍의 필요성 _1.3 병렬 처리 하드웨어 __1.3.1 플린의 분류법 __1.3.2 공유 메모리 시스템과 분산 메모리 시스템 __1.3.3 GPU는 SIMT 구조 _1.4 CPU와 GPU 비교 __1.4.1 GPU의 탄생 배경 및 발전 방향 __1.4.2 CPU vs. GPU _1.5 병렬 처리의 성능 __1.5.1 병렬 처리 성능 지표 __1.5.2 암달의 법칙 2장 CUDA 개요 _2.1 CUDA 소개 __2.1.1 드라이버 API와 런타임 API __2.1.2 CUDA 사용 가능 GPU __2.1.3 GPU의 성능 __2.1.4 CUDA compute capability __2.1.5 내 GPU 확인하기 _2.2 CUDA 개발 환경 설정 __2.2.1 CUDA 툴킷 설치 __2.2.2 CUDA 프로그램 작성 및 컴파일 환경 _2.3 Hello CUDA __2.3.1 호스트와 디바이스 __2.3.2 CUDA 프로그램 __2.3.3 Hello CUDA - 첫 번째 CUDA 프로그램 __2.3.4 CUDA C/C++ 키워드 __2.3.5 커널의 실행과 실행 구성 3장 CUDA 프로그램의 기본 흐름 _3.1 CUDA 프로그램의 구조 및 흐름 _3.2 CUDA 기초 메모리 API __3.2.1 디바이스 메모리 공간 할당 및 초기화 API __3.2.2 호스트-디바이스 메모리 데이터 복사 API _3.3 CUDA로 작성하는 벡터의 합 프로그램 __3.3.1 디바이스 메모리 할당 __3.3.2 입력 벡터 복사(호스트 메모리 → 디바이스 메모리) __3.3.3 벡터 합 커널 호출 __3.3.4 결과 벡터 복사 (디바이스 메모리 → 호스트 메모리) __3.3.5 디바이스 메모리 해제 __3.3.6 CUDA 기반 벡터 합 프로그램 전체 코드 _3.4 CUDA 알고리즘의 성능 측정 __3.4.1 커널 수행 시간 __3.4.2 데이터 전송 시간 __3.4.3 CUDA 기반 벡터 합 프로그램의 성능 측정 및 분석 4장 CUDA 스레드 계층 _4.1 CUDA 스레드 계층 구조 __4.1.1 CUDA 스레드 계층 __4.1.2 CUDA 스레드 계층을 위한 내장 변수들 __4.1.3 그리드 및 블록의 최대 크기 제한 _4.2 CUDA 스레드 구조와 커널 호출 __4.2.1 스레드 레이아웃 설정 및 커널 호출 __4.2.2 스레드 레이아웃 설정 및 확인 예제 _4.3 큰 벡터에 대한 벡터 합 CUDA 프로그램 - 스레드 레이아웃 5장 스레드 레이아웃과 인덱싱 _5.1 1,024보다 큰 벡터의 합 구하기 __5.1.1 스레드 레이아웃 결정 __5.1.2 각 스레드가 접근할 데이터의 인덱스 계산 __5.1.3 계산된 인덱스를 반영한 커널 작성 _5.2 스레드 인덱싱 __5.2.1 메모리 속 배열의 모습 __5.2.2 스레드 인덱싱 연습 I - 스레드의 전역 번호 __5.2.3 스레드 인덱싱 연습 II - 2차원 데이터에 대한 인덱싱 _5.3 CUDA 기반 대규모 행렬 합 프로그램 __5.3.1 2차원 그리드, 2차원 블록 레이아웃 __5.3.2 1차원 그리드, 1차원 블록 레이아웃 __5.3.3 2차원 그리드, 1차원 블록 레이아웃 6장 CUDA 실행 모델 _6.1 엔비디아 GPU 아키텍처 __6.1.1 스트리밍 멀티프로세서 __6.1.2 CUDA 코어 _6.2 CUDA 스레드 계층과 GPU 하드웨어 __6.2.1 그리드 → GPU __6.2.2 스레드 블록 → SM __6.2.3 워프 & 스레드 → SM 속의 CUDA 코어 __6.2.4 무비용 문맥 교환(zero context switch overhead) __6.2.5 워프 분기(warp divergence) _6.3 메모리 접근 대기 시간 숨기기 전략 _6.4 GPU 정보 확인하기 7장 CUDA 기반 행렬 곱셈 프로그램 _7.1 행렬곱셈이란? _7.2 스레드 레이아웃 설정 __7.2.1 입력 행렬 A, B 기준 스레드 레이아웃 __7.2.2 결과 행렬 C 기준 스레드 레이아웃 _7.3 스레드 인덱싱 __7.3.1 행렬 C의 크기가 블록 최대 크기(1,024)보다 작은 경우 __7.3.2 행렬 C의 크기가 블록의 최대 크기(1,024)보다 큰 경우 _7.4 구현 및 성능 평가 __7.4.1 세부 구현 __7.4.2 성능 평가 __7.4.3 부동소수점 연산 정밀도 문제 8장 CUDA 메모리 계층 _8.1 컴퓨터 시스템의 메모리 계층 _8.2 CUDA 메모리 계층 __8.2.1 스레드 수준 메모리 __8.2.2 블록 수준 메모리 __8.2.3 그리드 수준 메모리 __8.2.4 GPU 캐시 __8.2.5 CUDA 메모리 요약 _8.3 CUDA 메모리 모델과 성능 __8.3.1 병렬성 최대화 __8.3.2 활성 워프 비율 9장 CUDA 공유 메모리 _9.1 공유 메모리 사용 방법 __9.1.1 스레드 블록 내 스레드들의 공유 데이터 보관 __9.1.2 L1 캐시(HW 관리 캐시) __9.1.3 사용자 관리 캐시 _9.2 공유 메모리 사용 예제 - 1,024보다 작은 행렬의 곱셈 10장 공유 메모리를 활용한 행렬 곱셈 프로그램 _10.1 문제 정의 및 기반 코드 _10.2 알고리즘 설계 및 구현 __10.2.1 전략 1: 행렬 A의 일부 행과 행렬 B의 일부 열을 공유 메모리에 적재 __10.2.2 전략 2: 행과 열을 블록 단위로 분할하여 공유 메모리에 적재 _10.3 성능 평가 11장 메모리 접근 성능 최적화 _11.1 전역 메모리 접근 최적화 __11.1.1 정렬된 메모리 접근과 병합된 메모리 접근 __11.1.2 예제: 행렬 곱 커널의 스레드 레이아웃 __11.1.3 구조체의 배열 vs. 배열의 구조체 _11.2 공유 메모리 접근 최적화 __11.2.1 메모리 뱅크와 뱅크 충돌 __11.2.2 예제: 공유 메모리 활용 행렬 곱 커널 12장 동기화 및 동시 실행 _12.1 동기화 __12.1.1 CUDA의 동기화 _12.2 CUDA 스트림과 동시 실행 __12.2.1 CUDA 스트림의 정의 및 특성 __12.2.2 CUDA 명령의 동시 실행 __12.2.3 예제: 데이터 전송 부하 숨기기 __12.2.4 스트림 동기화 _12.3 CUDA 이벤트 __12.3.1 CUDA 이벤트 API __12.3.2 CUDA 이벤트를 이용한 커널 및 스트림별 수행 시간 측정 _12.4 다중 GPU 및 이종 병렬 컴퓨팅 __12.4.1 다중 GPU 사용 __12.4.2 이종 병렬 컴퓨팅
저자 소개
저자 : 김덕수
    김덕수(Duksu Kim)
    - 한국기술교육대학교 컴퓨터공학과 교수, 2018~현재
    멀티코어프로그래밍 과목: K-INNOVATION 특수과목(F/L)의 우수 교과목으로 선정, 2021
    - 한국과학기술정보원구원(KISTI) 슈퍼컴퓨팅 센터 선임연구원, 2014~2018
    - KAIST 전산학 박사, 2014

    - CUDA 코딩 콘테스트 자유주제 부문(주최: NVIDIA 코리아) 대상, 2010
    - CUDA 코딩 콘테스트 자유주제 부문(주최: NVIDIA 코리아) 2위, 2015
    - 한국기술교육대학교 최우수교육상(Best Teaching Award), 2021

    유튜브: https://www.youtube.com/@hpclab.koreatech4592
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    매장에서 사용할 수 있는 바코드가 있어요!