본문 바로가기

NVIDIA48

NVIDIA 라이브러리 스터디 repo NVIDIA CUDA와 관련하여 스터디 내용을 티스토리에 업데이트하다가 관리하기가 힘들어서 어느 순간부터 깃헙 레포로 변경하여 스터디 내용들을 업데이트하고 있습니다. 특히 CUDA 뿐만 아니라 cuDNN, TensorRT와 관련된 내용들도 업데이트하고 있고 공식 문서 내용에서도 살펴볼만한 내용들을 업데이트하고 있으니 필요하시다면 참조바랍니다 ! GitHub - junstar92/nvidia-libraries-study Contribute to junstar92/nvidia-libraries-study development by creating an account on GitHub. github.com 2023. 7. 30.
TensorRT CMake 스크립트 (FindTENSORRT.cmake) GitHub - junstar92/FindTENSORRT: cmake script to find TensorRT Library cmake script to find TensorRT Library. Contribute to junstar92/FindTENSORRT development by creating an account on GitHub. github.com find_package(TENSORRT)를 통해 TensorRT 라이브러리를 찾을 수 있는 스크립트 윈도우에서는 아직 테스트해보진 못함 2023. 7. 24.
Stream Synchronization Behavior References CUDA Toolkit Documentation - CUDA Runtime API (link) Contents Legacy Default Stream Per-thread Default Stream [프로그래밍/CUDA] - API Synchronization Behavior API Synchronization Behavior References CUDA Toolkit Documentation - CUDA Runtime API (link) Contents Difference between the driver and runtime APIs API Synchronization Behavior 이번 포스팅에서는 CUDA의 API에 대한 동기/비동기.. junstar92.tistory.com .. 2022. 6. 19.
API Synchronization Behavior References CUDA Toolkit Documentation - CUDA Runtime API (link) Contents Difference between the driver and runtime APIs API Synchronization Behavior 이번 포스팅에서는 CUDA의 API에 대한 동기/비동기 동작에 대해서 살펴보려고 합니다. 아마 기본적으로 Memcpy와 Kernel Launch를 오버랩할 때, 스트림을 사용하여 비동기로 분할하여 수행하면 성능이 더 좋다는 것을 알고 있으리라 생각됩니다. 이에 대한 내용은 이전 포스팅들을 참조하시길 바랍니다 ! 아래 포스팅에서는 스트림을 사용하여 Copy/Compute를 오버랩하는 방법에 대한 내용이 포함되어 있습니다. CUDA C/C++ 기.. 2022. 6. 18.
NVIDIA Tools Extension (NVTX) References https://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvtx https://nvidia.github.io/NVTX/doxygen/index.html Contents NVTX API Nsight System with NVTX for profiling NVTX NVIDIA Tools Extension(NVTX) 라이브러리는 어플리케이션에서 event, code range, resources 등에 어노테이션하기 위한 C-based API를 제공합니다. 이렇게 제공되는 API를 통해서 어플리케이션의 추가적인 정보를 얻을 수 있습니다. NVTX가 통합된 어플리케이션은 Nsight System 또는 Visual Profiler에서 even.. 2022. 6. 17.
Multiple GPUs with CUDA C++ References Scaling Workloads Across Mutliple GPUs with CUDA C++ Contents Concurrency Strategies Multiple GPUs Use non-default Streams with Multiple GPUs 이번 포스팅에서는 NVIDIA Online Training 중 다중 GPU를 사용하는 방법에 대한 강의, Scaling Workloads Across Multiple GPUs with CUDA C++에 대한 내용을 정리하였습니다. Concurrency Strategies 일반적으로 GPU Programming은 다음의 3 Steps로 구성됩니다. Transfer data to GPU device(s) Perform computation.. 2022. 6. 16.
CUDA C/C++ 기초 - (3) References Fundamentals of Accelerated Computing with CUDA C/C++ (NVIDIA Online Training) Asynchronous Streaming, and Visual Profiling for Accelerated Applications with CUDA C/C++ Contents Concurrent CUDA Streams Manual Device Memory Allocation and Copying Using Streams to Data Transfers CUDA C/C++ 기초 - (1) CUDA C/C++ 기초 - (2) 지난 두 포스팅을 통해서 기본적인 CUDA와 Unified Memory에 대해서 살펴봤습니다. 또한, Nsight Syste.. 2022. 6. 14.
CUDA C/C++ 기초 - (2) References Fundamentals of Accelerated Computing with CUDA C/C++ (NVIDIA Online Training) Managing Accelerated Application Memory with CUDA Unified Memory and nsys Contents Nsight System Understanding Streaming Multiprocessors Querying the Device Unified Memory Details CUDA C/C++ 기초 - (1) CUDA C/C++ 기초 - (1) References Fundamentals of Accelerated Computing with CUDA C/C++ (NVIDIA Online Training.. 2022. 6. 13.
CUDA C/C++ 기초 - (1) References Fundamentals of Accelerated Computing with CUDA C/C++ (NVIDIA Online Training) Contents Writing Application Code for the GPU(CUDA C/C++) CUDA Thread Hierarchy Allocating Memory to be accessed on the GPU and the CPU Grid Size Mismatch Grid-Stride Loops Error Handling CUDA를 공부하면서 여러 포스팅들을 작성했었는데, 최근까지 CUDA를 자주 사용하지는 않아서 잊어버린 부분들이 많았습니다. 우연히 NVIDIA Online Training를 접할 수 있는 기회가 생겨서, 이번 기회.. 2022. 6. 10.
CUDA Instructions (2) - Instruction 최적화 References Professional CUDA C Programming Contents Single-Precision vs. Double-Precision Standard vs. Intrinsic Functions Understanding Atomic Instructions CUDA Instructions (1) 지난 포스팅을 통해서 CUDA의 Instruction들을 살펴보고, 그 특징들을 알아봤습니다. 이 Instruction들을 통해, CUDA 프로그램에서 명령어들을 최적화할 때 많은 선택 사항들이 있다는 것을 알 수 있습니다. Single-Precision or Double-Precision Standard or Intrinsic Functions Atomic function or Unsaf.. 2022. 1. 28.