Část 4 NOVÉ RYSY CUDA, NOVINKY V OBLASTI NÁSTROJŮ PRO CUDA

Podobné dokumenty
Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH

GPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata

GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA

Knihovny pro CUDA J. Sloup a I. Šimeček

Závěrečná zpráva projektu Experimentální výpočetní grid pro numerickou lineární algebru

CUDA J. Sloup a I. Šimeček

Část 1 ZÁKLADNÍ RYSY VÝPOČETNÍ PROSTŘEDKŮ DOSTUPNÝCH NA IT4INNOVATIONS

CUDA SDK Compiler (front/back end k existujícímu C/C++ kompilátoru) Debugger Profiler Knihovny např.: Cublas Cufft Curand Velký balík ukázkových příkl

GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Pokročilé architektury počítačů

Povídání na téma SUPERPOČÍTAČE DNES A ZÍTRA

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

Návrhy elektromagnetických zení

GPU a CUDA. Historie GPU. Co je GPGPU? Nvidia CUDA

GPU jako levný výpočetní akcelerátor pro obrazovou JPEG2000 kompresi. ORS 2011 Karviná,

Hlavní využití počítačů

Pokročilé architektury počítačů

GPU Computing.

GPU a CUDA. Historie GPU. Co je GPGPU? Nvidia CUDA

Nvidia CUDA Paralelní programování na GPU

C2115 Praktický úvod do superpočítání

MATLAB a Simulink R2015b

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

HW počítače co se nalézá uvnitř počítačové skříně

Stavba operačního systému

Operační systém teoreticky

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Představení a srovnání grafických procesorů ATI RV770 a NVIDIA G(T)200

Paralelní a distribuované výpočty (B4B36PDV)

Nejvýkonnější SuperPOČÍTAČe dneška a budoucnosti od IBM

Operační paměti počítačů PC

DOTYKOVÉ SYSTÉMY. EA-625 Dotyková jednotka ELO Touch 15", ATOM D2550 dual core 1,8 GHz, 2GB RAM, HDD SSD 32 GB, barva matná černá

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Úvod do GPGPU J. Sloup, I. Šimeček

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Vyuºití GPGPU pro zpracování dat z magnetické rezonance

Nvidia CUDA Paralelní programování na GPU

Výměna Databázového serveru MS SQL

Jednokamerový systém pro sledování objektů

Úvod do modelování v programu COMSOL Multiphysics verze 4

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) Filip Staněk

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Windows 10 (6. třída)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Technické prostředky počítačové techniky

tímto vyzývá zájemce k podání nabídky na veřejnou zakázku

Digitální učební materiál

Operační systémy. Přednáška 8: Správa paměti II

Základní operace. Prefix sum. Segmentovaný prefix-sum

Vektorové mapy. Ing. Martin Bak, vedoucí týmu vývoje

G R A F I C K É K A R T Y

a co je operační systém?

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

Karel Johanovský Michal Bílek SPŠ-JIA GRAFICKÉ KARTY

Vestavné průmyslové počítače. Martin Löw

Proč je IBM Flex System to nejlepší blade řešení na trhu

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Historie výpočetní techniky Vývoj počítačů 4. generace. 4. generace mikroprocesor

Semestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016

Paralelní programování

Složení počítače. HARDWARE -veškeré fyzicky existující technické vybavení počítače 12 -MONITOR

Intel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky

Architektura AMD K10. Kozelský Martin, koz230. Datum:

Paralelní výpočty na clusteru KMD

Herní PC HAL3000 Artemis výkonný lovec pro nekončící zábavu

Využití programu MATLAB v robotice. počítačové vidění a deep learning

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu

CHARAKTERISTIKY MODELŮ PC

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

TECHNICKÁ SPECIFIKACE

PROCESOR. Typy procesorů

<Insert Picture Here> Software, Hardware, Complete

Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Novinky HMI. Magelis HMISTO501 ipc Magelis BOX PC Vijeo Designer v.6.0

Jiné výpočetní platformy J. Sloup, M. Skrbek, I. Šimeček

Závěrečná zpráva projektu Experimentální výpočetní grid pro numerickou lineární algebru

Co je grafický akcelerátor

Paralelní výpočty ve finančnictví

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

KATALOG REPASOVANÉ VÝPOČETNÍ TECHNIKY

GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty

AGP - Accelerated Graphics Port

DNS IT Výrobce a typ Specifikace nabízeného zboží. Celková nabídková cena za položku bez DPH. Cena za 1 jednotku bez DPH. viz.

Agora Brno - 3.červen FUJITSU PRIMEFLEX Cluster-in-a-box. Radek Procházka Server presales FTS PUBLIC. Copyright 2014 FUJITSU

České Budějovice. 2. dubna 2014

Karel Johanovský Michal Bílek. Operační paměť

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

TEMPO průmyslový panelový počítač

"SUSEN - dodávky základního hardware a základního software, etapa III.

DRUHY SESTAV. Rozlišujeme 4 základní druhy sestav. PC v provedení desktop. PC v provedení tower. Server. Notebook neboli laptop

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC

I C T P L Á N Stávající stav Počet žáků ICT vzdělávání pedagogických pracovníků

Pokročilé architektury počítačů

ORGANIZAČNÍ A VÝPOČETNÍ TECHNIKA

Novinky ve Visual Studio Tomáš Kroupa

HP Compaq Pro 6300 SFF

Transkript:

Část 4 NOVÉ RYSY CUDA, NOVINKY V OBLASTI NÁSTROJŮ PRO CUDA

Základní nástroje pro CUDA Linux: CUDA-gdb (debug) Memcheck (i racecheck) Visual Profiler MS Windows Nsight (integruje výše zmíněné) Společná nevýhoda: debugging i profiling ovlivňují běh aplikace

Nástup architektury Pascal TESLA P100 : 16nm GPU "GP100" 15,3 miliardy tranzistorů HBM2 paměti s propustností 1TB/s Má mít v první verzi 3584 výpočetních jednotek FP32 a 1792 jednotek FP64. Výkon: 21,2TFLOPS v HP (FP16) 10,6TFLOPS v SP (FP32) 5,304TFLOPS v DP (FP64)

GPU datové typy Sizeof in bytes Exponent in bits Mantisa in bits valid decimal digits Maximal number Single 4 8 23+1 6-7 3.39*10^38 Double 8 11 52+1 15-16 1.8*10^308 Half 2 5 10+1 3.3 65504

NVIDIA DGX-1 DEEP LEARNING SYSTÉM 170 TFLOPS (GPU FP16), 3 TFLOPS (CPU FP32) 16 GB per GPU Dual 20-core Intel Xeon E5-2698 v4 2.2 GHz 512 GB 2133 MHz DDR4 GPU cores 28672 Ubuntu Server Linux OS

NVIDIA NVLINK HIGH-SPEED INTERCONNECT The technology allows data sharing at rates 5 to 12 times faster than the traditional PCIe Gen3 interconnect

Kepler unified memory GPU nemůže přistupovat do paměti CPU a opačně Práce s paměťovými bloky existujícími na CPU i GPU Dříve nutno explicitně alokovat a synchronizovat Unified memory ulehčuje tyto operace Dostupná od CUDA SDK 6.0 a CC 3.0 double* ma; cudamallocmanaged(&ma, ARRAY_SIZE * sizeof(double)); for (int i = 0; i < ARRAY_SIZE; i++) ma[i] = 1.0*i; increment<<<2, 512>>>(mA, inc_val, ARRAY_SIZE); cudadevicesynchronize(); // práce s ma cudafree(ma); Tento paměťový blok bude alokován jak na CPU tak na GPU Zápis pomocí CPU Zápis pomocí GPU Čekání na dokončení kernelu

Pascal GP100 Unified Memory GP100 extends GPU: enable 49-bit virtual addressing. (48-bit virtual address spaces of modern CPUs+ GPU s own memory) allows programs to access the full address spaces of all CPUs and GPUs in the system as a single virtual address space, unlimited by the physical memory size of any one processor.

Možnost dynamického paralelismu Od Compute capability 3.5 Kernel může volat sub/kernel Může vést k lepšímu load-balancingu Ale díky větší režii volání jsou GPU rek. stromy volání nižší a širší než CPU stromy

Dynamické volání kernelu I Nová možnost dynamického paralelismu Vhodné pro neregulární situace, kdy klasické řešení není efektivní Od CUDA CC 3.5 může kernel volat jiné kernely včetně (případně) jiného nastavení počtu bloků a vláken Kernel je pak ukončen teprve po ukončení všech volaných vnořených kernelů (volaných jednotlivými vlákny)

Dynamické volání kernelu II CUDA Device Runtime garantuje, že otec a syn (kernely) mají fully consistent view of global memory, ale jen v určitých situacích Pro zajištění ale často nutno explicitně synchronizovat pomocí syncthreads a cudadevicesynchronize Pozor! Ač hloubka vnoření není většinou omezena, pro efektivní běh by i tyto dynamicky volané kernely měly obsahovat dostatečný počet bloků a vláken

CUDA proudy proud (stream) fronta GPU operací (spouštění kernelů, kopírování dat, události), které se provádějí v pořadí v jakém byly do fronty vloženy některé operace asynchronní s CPU např. asynchronní kopírování dat vyžaduje page-locked paměť položka deviceoverlap ve vlastnostech zařízení znamená schopnost současně spouštět kernel a kopírovat data z/do GPU položka concurrentkernels ve vlastnostech zařízení znamená schopnost současně spouštět více kernelů a kopírovat data z/do GPU současně (CC 2.0) Od CC? možno prioritizovat proudy

Knihovny v rámci SDK cufft cublas cusparse cusolver curand NPP Thrust math.h cudnn Fast Fourier Transforms Library Complete BLAS Library Sparse Matrix Library Linear Solver Library Random Number Generation (RNG) Library Performance Primitives for Image & Video Processing Templated Parallel Algorithms & Data Structures C99 floating-point Library Deep Neural Net building blocks

CUDA C++ Parallel Template Library Parallel Template library for CUDA C++ Host and Device Containers that mimic the C++ STL Optimized Parallel Algorithms for sort, reduce, scan, etc. TBB and OpenMP CPU Backends Performance portable

NPP: NVIDIA Performance Primitives Over 5000 image and signal processing routines: color transforms, geometric transforms, move operations, linear filters, image & signal statistics, image & signal arithmetic, JPEG building blocks, image segmentation, median filter, BGR/YUV conversion, 3D LUT color conversion