Soumettre la recherche
Mettre en ligne
Lec12 debugging
•
Télécharger en tant que PPTX, PDF
•
2 j'aime
•
927 vues
Taras Zakharchenko
Suivre
Technologie
Signaler
Partager
Signaler
Partager
1 sur 16
Télécharger maintenant
Recommandé
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Intel® Software
GPU Ecosystem
GPU Ecosystem
Ofer Rosenberg
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
AMD Developer Central
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Intel® Software
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
bmbouter
Dalvik Vm & Jit
Dalvik Vm & Jit
Ankit Somani
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
Ofer Rosenberg
eBPF/XDP
eBPF/XDP
Netronome
Recommandé
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Intel® Software
GPU Ecosystem
GPU Ecosystem
Ofer Rosenberg
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
AMD Developer Central
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Intel® Software
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
bmbouter
Dalvik Vm & Jit
Dalvik Vm & Jit
Ankit Somani
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
Ofer Rosenberg
eBPF/XDP
eBPF/XDP
Netronome
Profiling deep learning network using NVIDIA nsight systems
Profiling deep learning network using NVIDIA nsight systems
Jack (Jaegeun) Han
The GPGPU Continuum
The GPGPU Continuum
Ofer Rosenberg
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Intel® Software
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
Anne Nicolas
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
AMD Developer Central
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
AMD Developer Central
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Shinya Takamaeda-Y
Tdd with python unittest for embedded c
Tdd with python unittest for embedded c
Benux Wei
NVIDIA CUDA
NVIDIA CUDA
Jungsoo Nam
AGDK tutorial step by step
AGDK tutorial step by step
Jungsoo Nam
2015 10-30 面試心得分享
2015 10-30 面試心得分享
Hung Liu
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
AMD Developer Central
Debugging CUDA applications
Debugging CUDA applications
Rogue Wave Software
Syntutic
Syntutic
Rohit Chintu
xapp744-HIL-Zynq-7000
xapp744-HIL-Zynq-7000
Umang Parekh
Intel® Graphics Performance Analyzers
Intel® Graphics Performance Analyzers
Intel® Software
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Intel® Software
Optimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER II
Intel® Software
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & Inference
Mr. Vengineer
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management Tools
Ayman El-Hattab
Lec05 buffers basic_examples
Lec05 buffers basic_examples
Taras Zakharchenko
Contenu connexe
Tendances
Profiling deep learning network using NVIDIA nsight systems
Profiling deep learning network using NVIDIA nsight systems
Jack (Jaegeun) Han
The GPGPU Continuum
The GPGPU Continuum
Ofer Rosenberg
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Intel® Software
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
Anne Nicolas
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
AMD Developer Central
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
AMD Developer Central
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Shinya Takamaeda-Y
Tdd with python unittest for embedded c
Tdd with python unittest for embedded c
Benux Wei
NVIDIA CUDA
NVIDIA CUDA
Jungsoo Nam
AGDK tutorial step by step
AGDK tutorial step by step
Jungsoo Nam
2015 10-30 面試心得分享
2015 10-30 面試心得分享
Hung Liu
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
AMD Developer Central
Debugging CUDA applications
Debugging CUDA applications
Rogue Wave Software
Syntutic
Syntutic
Rohit Chintu
xapp744-HIL-Zynq-7000
xapp744-HIL-Zynq-7000
Umang Parekh
Intel® Graphics Performance Analyzers
Intel® Graphics Performance Analyzers
Intel® Software
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Intel® Software
Optimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER II
Intel® Software
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & Inference
Mr. Vengineer
Tendances
(20)
Profiling deep learning network using NVIDIA nsight systems
Profiling deep learning network using NVIDIA nsight systems
The GPGPU Continuum
The GPGPU Continuum
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
Kernel Recipes 2018 - XDP: a new fast and programmable network layer - Jesper...
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
PT-4102, Simulation, Compilation and Debugging of OpenCL on the AMD Southern ...
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Tdd with python unittest for embedded c
Tdd with python unittest for embedded c
NVIDIA CUDA
NVIDIA CUDA
AGDK tutorial step by step
AGDK tutorial step by step
2015 10-30 面試心得分享
2015 10-30 面試心得分享
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
Debugging CUDA applications
Debugging CUDA applications
Syntutic
Syntutic
xapp744-HIL-Zynq-7000
xapp744-HIL-Zynq-7000
Intel® Graphics Performance Analyzers
Intel® Graphics Performance Analyzers
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Optimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER II
Cloud Deep Learning Chips Training & Inference
Cloud Deep Learning Chips Training & Inference
En vedette
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management Tools
Ayman El-Hattab
Lec05 buffers basic_examples
Lec05 buffers basic_examples
Taras Zakharchenko
Lec08 optimizations
Lec08 optimizations
Taras Zakharchenko
Lec02 03 opencl_intro
Lec02 03 opencl_intro
Taras Zakharchenko
Lec11 timing
Lec11 timing
Taras Zakharchenko
Lec13 multidevice
Lec13 multidevice
Taras Zakharchenko
Lec09 nbody-optimization
Lec09 nbody-optimization
Taras Zakharchenko
Notes on Debugging
Notes on Debugging
Cotap Engineering
Lec07 threading hw
Lec07 threading hw
Taras Zakharchenko
Debugging
Debugging
Jonathan Holloway
Online computer lab management system
Online computer lab management system
Pranyta Karhe
Debugging
Debugging
Indu Sharma Bhardwaj
GPU - Basic Working
GPU - Basic Working
Nived R Nambiar
Lec04 gpu architecture
Lec04 gpu architecture
Taras Zakharchenko
Welcome To Your Computer Lab Ppt
Welcome To Your Computer Lab Ppt
Dot Rutherford
En vedette
(15)
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management Tools
Lec05 buffers basic_examples
Lec05 buffers basic_examples
Lec08 optimizations
Lec08 optimizations
Lec02 03 opencl_intro
Lec02 03 opencl_intro
Lec11 timing
Lec11 timing
Lec13 multidevice
Lec13 multidevice
Lec09 nbody-optimization
Lec09 nbody-optimization
Notes on Debugging
Notes on Debugging
Lec07 threading hw
Lec07 threading hw
Debugging
Debugging
Online computer lab management system
Online computer lab management system
Debugging
Debugging
GPU - Basic Working
GPU - Basic Working
Lec04 gpu architecture
Lec04 gpu architecture
Welcome To Your Computer Lab Ppt
Welcome To Your Computer Lab Ppt
Similaire à Lec12 debugging
Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)
Rob Gillen
GPU Programming with Java
GPU Programming with Java
Kelum Senanayake
Cuda intro
Cuda intro
Anshul Sharma
PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018
NVIDIA
Cuda materials
Cuda materials
Thiruselvan Subramanian
gpuprogram_lecture,architecture_designsn
gpuprogram_lecture,architecture_designsn
ARUNACHALAM468781
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Arka Ghosh
GPGPU Accelerates PostgreSQL (English)
GPGPU Accelerates PostgreSQL (English)
Kohei KaiGai
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
J On The Beach
Parallel and Distributed Computing Chapter 8
Parallel and Distributed Computing Chapter 8
AbdullahMunir32
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
AMD Developer Central
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
Intel® Software
Python и программирование GPU (Ивашкевич Глеб)
Python и программирование GPU (Ивашкевич Глеб)
IT-Доминанта
LAS16-403 - GDB Linux Kernel Awareness
LAS16-403 - GDB Linux Kernel Awareness
Peter Griffin
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel Awareness
Linaro
Introduction to Accelerators
Introduction to Accelerators
Dilum Bandara
Revisiting Co-Processing for Hash Joins on the CoupledCpu-GPU Architecture
Revisiting Co-Processing for Hash Joins on the CoupledCpu-GPU Architecture
mohamedragabslideshare
Similaire à Lec12 debugging
(20)
Intro to GPGPU with CUDA (DevLink)
Intro to GPGPU with CUDA (DevLink)
GPU Programming with Java
GPU Programming with Java
Cuda intro
Cuda intro
PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018
Cuda materials
Cuda materials
gpuprogram_lecture,architecture_designsn
gpuprogram_lecture,architecture_designsn
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
Vpu technology &gpgpu computing
GPGPU Accelerates PostgreSQL (English)
GPGPU Accelerates PostgreSQL (English)
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
Parallel and Distributed Computing Chapter 8
Parallel and Distributed Computing Chapter 8
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
Python и программирование GPU (Ивашкевич Глеб)
Python и программирование GPU (Ивашкевич Глеб)
LAS16-403 - GDB Linux Kernel Awareness
LAS16-403 - GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel Awareness
LAS16-403: GDB Linux Kernel Awareness
Introduction to Accelerators
Introduction to Accelerators
Revisiting Co-Processing for Hash Joins on the CoupledCpu-GPU Architecture
Revisiting Co-Processing for Hash Joins on the CoupledCpu-GPU Architecture
Dernier
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Dernier
(20)
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Lec12 debugging
1.
Debugging Perhaad Mistry
& Dana Schaa, Northeastern University Computer Architecture Research Lab, with Benedict R. Gaster, AMD © 2011
2.
Instructor Notes GPU
debugging is still immature, but being improved daily. You should definitely check to see the latest options available before giving this lecture. 2 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
3.
Debugging Techniques Compiling
for x86 CPU Debugging with GDB GPU printf Live debuggers Parallel Nsight gDEBugger 3 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
4.
CPU Debugging OpenCL
allows the same code to run on different types of devices Compiling to run on a CPU provides some extra facilities for debugging Additional forms of IO (such as writing to disk) are still not available from the kernel AMD’s OpenCL implementation recognizes any x86 processor as a target device Simply select the CPU as the target device when executing the program NVIDIA’s OpenCL implementation can support compiling to x86 CPUs if AMD’s installable client driver is installed 4 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
5.
CPU Debugging with
GDB Setting up for GDB Pass the compiler the “-g” flag Pass “-g” to clBuildProgram() Set an environment variable CPU_COMPILER_OPTIONS=“-g” Avoid non-deterministic execution by setting an environment variable CPU_MAX_COMPUTE_UNITS=1 5 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
6.
CPU Debugging with
GDB Run gdb with the OpenCL executable > gdba.out Breakpoints can be set by line number, function name, or kernel name To break at the kernel hello within gdb, enter: (gdb) b __OpenCL_hello_kernel The prefix and suffix are required for kernel names OpenCL kernel symbols are not known until the kernel is loaded, so setting a breakpoint at clEnqueueNDRangeKernel() is helpful (gdb) bclEnqueueNDRangeKernel 6 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
7.
CPU Debugging with
GDB To break on a certain thread, introduce a conditional statement in the kernel and set the breakpoint inside the conditional body Can use gdb commands to view thread state at this point ... if(get_global_id(1) == 20 && get_global_id(0) == 34) { ; // Set breakpoint on this line } 7 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
8.
GPU Printf AMD
GPUs support printing during execution using printf() NVIDIA does not currently support printing for OpenCL kernels (though they do with CUDA/C) AMD requires the OpenCL extension cl_amd_printf to be enabled in the kernel printf() closely matches the definition found in the C99 standard 8 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
9.
GPU Printf printf()
can be used to print information about threads or check help track down bugs The following example prints information about threads trying to perform an improper memory access intmyIdx = ... // index for addressing a matrix if(myIdx < 0 || myIdx >= rows || myIdx >= cols) { printf(“Thread %d,%d: bad index (%d)”, get_global_id(1), get_global_id(0), myIdx)); } 9 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
10.
GPU Printf printf()
works by buffering output until the end of execution and transferring the output back to the host It is important that a kernel completes in order to retrieve printed information Commenting out code following printf() is a good technique if the kernel is crashing 10 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
11.
gDEBugger Developed by
Graphic Remedy Cost: not free Debugger, profiler, memory analyzer Integrated with AMD/ATI and NVIDIA performance counters 11 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
12.
gDEBugger Displays information
about OpenCL platforms and devices present in the system 12 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
13.
gDEBugger Can step
through OpenCL calls, and view arguments Links to programs, kernels, etc. when possible in the function call view 13 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
14.
gDEBugger Automatically detects
OpenCL errors and memory leaks 14 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
15.
gDEBugger Displays contents
of buffers and images present on OpenCL devices View live Export to disk 15 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
16.
Summary GPU debugging
is still immature NVIDIA has a live debugger for Windows only AMD and NVIDIA allow restrictive printing from the GPU AMD allows code to be compiled and run with gdb on the CPU Graphic Remedy (gDEBugger) provides online memory analysis and is integrated with performance counters, but cannot debug on a thread-by-thread basis 16 Perhaad Mistry & Dana Schaa, Northeastern Univ Computer Architecture Research Lab, with Ben Gaster, AMD © 2011
Notes de l'éditeur
AMD’s OpenCL programming guide has a section dedicated to debugging with GDB
Télécharger maintenant