6주차:『GPU(CUDA) Programming』

Slides:



Advertisements
Similar presentations
/11 CUDA 를 이용한 병렬 프로그래밍 DirectX 3D 를 이용한 3D 프로그래밍
Advertisements

글에 나타난 시대적 사회적 배경을 파악할 수 있다. 배경 지식과 의미 해석의 관련성을 이해할 수 있다.
패널자료 분석
2013학년도 전라북도고등학교신입생 입학전형 기본계획
열왕기하 1장을 읽고 묵상으로 예배를 준비합시다..
오늘의 학습 주제 Ⅱ. 근대 사회의 전개 4. 개항 이후의 경제와 사회 4-1. 열강의 경제 침탈 4-2. 경제적 구국 운동의 전개 4-3. 사회 구조와 의식의 변화 4-4. 생활 모습의 변화.
전도축제 계획서 *일시 : 2013년 4월 21, 28일 주일 (연속 2주)
한국 상속세 및 증여세 과세제도 한국 국세공무원교육원 교 수 최 성 일.
다문화가정의 가정폭력의 문제점 연세대학교 행정대학원 정치행정리더십 2학기 학번 이름 홍 진옥.
Digital BibleⅢ 폰속의 성경 디지털 바이블 2008년 12월 ㈜씨엔커뮤니케이션 ㈜씨엔엠브이엔오.
제 1장. 멀티미디어 개론 1.1 멀티미디어란 무엇인가? 1.2 멀티미디어와 하이퍼미디어 1.3 월드 와이드 웹
광주경영자총협회 위기극복을 위한 변화창조 리더십 광진구청080911/건국대행정대학원 정 용 진 교수.
병원 감염 Nosocomial Infection
제 6강 재산권의 경제적 기능, 재산권 확립비용과 코즈정리
주일예배에 오신 형제 자매님을 환영합니다.
Project #2-2. Pintos User Program
Zigbee Specification RT Lab 강무진.
왕십리교회 유치부 찬양 예수님 날 위하여 가장 귀한 예수님 임마누엘 가정 걸작품 주는 나를 기르시는 목자 주님 위해 살래요
Basic Theory of Optics Dasol Jeong.
3장. 컴퓨터의 기억장치 학번 : 이름 : 김현화.
7장 : 캐시와 메모리.
임베디드 하드웨어 Lecture #6.
DSP와 TMS320F28x의 이해.
6장. 기 억 장 치 Lecture #6.
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
Chapter 02 시스템 구조(System Structure)
Chapter 7. Pentium Processor
Computer Architecture
3주 컴퓨터구조.
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
임베디드 소프트웨어 설계.
내 평생 사는 동안 내 평생 사는동안 주 찬양하리 여호와 하나님 내주를 찬양하리 주님을 묵상함이 즐겁도다
Fault Diagnosis for Embedded Read-Only Memories
Computer System Architecture
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
CUDA 프로그래밍 1장 왜 CUDA인가? 왜 지금인가? 2장 시작하기 김 태우.
성균관대학교 전자전기컴퓨터공학과 오영환, 박효진
A Web-Based Little Man Computer Simulator
Cuda 프로그래밍 설치와 환경설정 3장 CUDA C에 대한 소개 김 태우.
시계열 분석 실습1.
R활용 통계실습 보충자료.
Computer System Overview
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Linux/UNIX Programming APUE (Thread Programming)
Chapter 12 Memory Organization
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
기술 진화와 진보.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
성경퀴즈 여호수아1장 3장 복습게임.
성공적인 입사지원서 작성법 제이비커리어 교육수석 소 은 선.
가수 키우기 1탄 시작!.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
학습정리 템플릿 학생용 교사 김택성 정충효.
Microprocessor Design and Application 마이크로 프로세서 설계 및 응용 2017 Spring
제 15 장 기술진보와 경제성장.
마지막 때의 징조
5. 유체와 운동 5.1 정원에 물 주기 5.2 공과 날리는 원반 5.3 비행기와 로켓
사회보장과 사회보험 05.
들녘경영체 및 영농법인 우수사례 소개 발표자 : 회장 김원석 - CONTENTS - I.
감염병 예방 및 관리에 관한 법률 제1장 총 칙 제2장 기본계획 및 사업 제3장 신고 및 보고 제4장 감염병감시 및 역학조사 등 제5장 고위험병원체 제6장 예방접종 제7장 감염 전파의 차단 조치 제8장 예방 조치 제9장 방역관, 검역위원 및 예방위원 등.
Network Security - Wired Sniffing 실습
세계의 개발협력.
금융조세포럼 세미나 해외펀드투자 환차익 과세 연세대학교 법학전문대학원 교수 이 미 현.
체육측정평가 체육측정과 평가 이해 측정의 이해 각종 검사 통계.
자동차마케팅 학기 송원대학교 자동차과.
임베디드 하드웨어 Lecture #6.
밭 갈기 아버지 하나님의 사랑을 더 깊이 느낀다. 하나님이 내 아버지시라는 사실로 인해 다른 삶을 살게 된다.
Lecture 7 7-Segment LED controller using u-controller
Chapter 7: Deadlocks.
Presentation transcript:

6주차:『GPU(CUDA) Programming』 [CSE 4152] 고급 소프트웨어 실습 I 6주차:『GPU(CUDA) Programming』 2013. 12.3 (화) 안재풍 ( AS907, ajp5050@sogang.ac.kr)

CUDA Memory Architecture Warp 하나의 SM에서 동시에 작동하는 thread의 단위 연속된 32개의 threads를 뜻함 Memory access 및 연산은 warp 단위로 동시에 수행 SM Shared memory Shared memory Shared memory Shared memory Threads block (8x32)

CUDA Memory Architecture (Global Memory) Global memory access pattern Warp 단위로 code가 동시에 수행되는 구조이기 때문에 warp 내의 모든 thread의 memory access가 완료되어야 다음 명령어를 수행 가장 빈번하게 사용되는 global memory access는 접근 형태에 따라 최적의 access 시간 대비 최대 16배의 시간이 소요될 수 있음 한번의 global memory access는 연속된 128byte 단위로 memory access가 발생 32개의 thread warp가 연속된 memory 영역을 access할 경우 가장 효율적 만약 32개의 thread warp가 비연속적인 memory 영역을 access할 경우 비 효율적

CUDA Memory Architecture (Global Memory) 1x128byte memory transaction at 128 128 256 Memory address warp 2x128byte memory transaction at 128, 256 31 128 256 Memory address warp 16x128byte memory transaction 31 128 256 Memory address … … 31 warp

CUDA Memory Architecture (Global Memory) Array of structure VS structure of array CPU : array of structure Cache hit ratio ↑ GPU : structure of array Global memory transaction ↓ float x float y float z float d … float x float y float z float d … float x float y float z float d … float x0 float x1 float x2 float x3 … float y0 float y1 float y2 float y3 … float z0 float z1 float z2 float z3 … float d0 float d1 float d2 float d3 … … …

Shared Memory Shared memory는 on chip memory로써 global memory에 비해 접근 속도가 확연하게 빠름 Shared memory는 global memory와는 다른 구 조로 구성되어 있으며 bank conflicts가 발생 하지 않을경우 register와 비슷한 성능을 발 휘

Shared Memory : Usage

Shared Memory : Bank Conflict Shared memory has 16 banks (compute capability 2.x = 32 bank) Shared memory is divided into equally-sized memory modules, called banks, which can be accessed simultaneously If two addresses of a memory request fall in the same memory bank, there is a bank conflict and the access has to be serialized Shared memory features a broadcast mechanism whereby a 32-bit word can be read and broadcast to several threads simultaneously when servicing one memory read request bank 1 … 15 1 … 15 … Shared memory 4byte 4byte … 4byte 4byte 4byte … 4byte 4byte …

Shared Memory : Bank Conflict Some example 1 2 3 4byte bank Shared memory … Threads 4 way bank conflict 4 way .. 1 2 3 4byte bank Shared memory … Threads Conflict free

Shared Memory : Bank Conflict For devices of compute capability 2.x, multiple words can be broadcast in a single transaction (for devices of compute capability 1.x, single word can be broadcast in a single transaction) 1 2 3 4byte bank Shared memory … Threads Compute capability 1.x : 4 way bank conflict Compute capability 2.x : no bank conflict