Samples for CUDA Developers which demonstrates features in CUDA Toolkit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Rob Armstrong 14b1bfdcc4 Replace README references to "CUDA Toolkit 12.5" with general "CUDA Toolkit" 2 months ago
..
.vscode add and update samples for CUDA 11.6 4 years ago
extras add and update samples for CUDA 11.6 4 years ago
CMakeLists.txt Update all sample CMakeLists.txt to include ENABLE_CUDA_DEBUG flag to enable cuda-gdb 3 months ago
README.md Replace README references to "CUDA Toolkit 12.5" with general "CUDA Toolkit" 2 months ago
cuda_drvapi_dynlink.c Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
cuda_drvapi_dynlink.h add and update samples for CUDA 11.6 4 years ago
cuda_drvapi_dynlink_cuda.h Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
helper_cuda_drvapi.h Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul.h Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMulDynlinkJIT.cpp Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul_gold.cpp Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul_kernel_32_ptxdump.c Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul_kernel_32_ptxdump.h Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul_kernel_64_ptxdump.c Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago
matrixMul_kernel_64_ptxdump.h Apply consistent code formatting across the repo. Add clang-format and pre-commit hooks. 3 months ago

README.md

matrixMulDynlinkJIT - Matrix Multiplication (CUDA Driver API version with Dynamic Linking Version)

Description

This sample revisits matrix multiplication using the CUDA driver API. It demonstrates how to link to CUDA driver at runtime and how to use JIT (just-in-time) compilation from PTX code. It has been written for clarity of exposition to illustrate various CUDA programming principles, not with the goal of providing the most performant generic kernel for matrix multiplication. CUBLAS provides high-performance matrix multiplication.

Key Concepts

CUDA Driver API, CUDA Dynamically Linked Library

Supported SM Architectures

SM 5.0 SM 5.2 SM 5.3 SM 6.0 SM 6.1 SM 7.0 SM 7.2 SM 7.5 SM 8.0 SM 8.6 SM 8.7 SM 8.9 SM 9.0

Supported OSes

Linux, Windows

Supported CPU Architecture

x86_64, armv7l

CUDA APIs involved

CUDA Driver API

cuMemcpyDtoH, cuDeviceGetName, cuParamSeti, cuModuleLoadDataEx, cuModuleGetFunction, cuLaunchGrid, cuFuncSetSharedSize, cuMemFree, cuParamSetSize, cuParamSetv, cuInit, cuMemcpyHtoD, cuLaunchKernel, cuDeviceGet, cuFuncSetBlockShape, cuCtxDestroy, cuDeviceGetCount, cuDeviceComputeCapability, cuCtxSynchronize, cuMemAlloc, cuCtxCreate

Prerequisites

Download and install the CUDA Toolkit for your corresponding platform.

References (for more details)