尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
CUDA Samples 完整实战指南:从源码构建、交叉编译到自动化测试(CUDA Toolkit 13.3)
CUDA Samples 完整实战指南从源码构建、交叉编译到自动化测试CUDA Toolkit 13.3【免费下载链接】cuda-samplesSamples for CUDA Developers which demonstrates features in CUDA Toolkit项目地址: https://gitcode.com/GitHub_Trending/cu/cuda-samples本指南以 NVIDIA CUDA Samples 官方仓库的 README.md 为骨架系统讲解如何获取、构建、安装与测试这套面向 CUDA 开发者的官方示例集合。本仓库随附 CUDA Toolkit 13.3覆盖 C 与 Python 两套样例读者学完后将能够独立完成 Linux / Windows 平台的本地构建、Tegra / QNX / DriveOS 平台的交叉编译、定制化安装以及使用run_tests.py对全部样例做自动化冒烟测试。一、仓库概览C 与 Python 双轨并行的样例体系CUDA Samples 是一套用于演示 CUDA Toolkit 各项特性的官方示例代码仓库当前版本面向 CUDA Toolkit 13.3。它不是CUDA 的验证套件不覆盖运行时/驱动 API 的边角情况也不用于性能基准测试见 README.md 的 Running All Samples as Tests 一节其定位是让开发者通过可运行、可修改的代码理解 CUDA 的编程模型与库 API。从仓库根目录的 CMakeLists.txt 可以看出项目的最小构建骨架cmake_minimum_required(VERSION 3.20) project(cuda-samples LANGUAGES C CXX CUDA) find_package(CUDAToolkit REQUIRED) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CUDA_STANDARD 17) set(CMAKE_CUDA_ARCHITECTURES 75 80 86 87 89 90 100 110 120) include(cmake/InstallSamples.cmake) add_subdirectory(cpp)几个值得注意的工程细节架构列表覆盖范围广CMAKE_CUDA_ARCHITECTURES从75Turing一路列到120Blackwell 后续架构覆盖 Volta 之后的历代 GPU 架构源码级佐证位于 CMakeLists.txt默认开启行号信息默认编译带-lineinfo便于 profiler 定位源码行仅当开启调试时才替换为-G见 CMakeLists.txtMSVC 专用预处理标志Windows 上为 CUDA 编译增加-Xcompiler/Zc:preprocessor以满足 CUDA 13.2 起 CCCL 对标准预处理器的要求对应 CHANGELOG.md 中 CUDA 13.2 条目C 与 Python 分目录组织cpp/是传统 C/CUDA 样例python/是新增的 CUDA Python 样例仓库根 CMakeLists.txt 只add_subdirectory(cpp)Python 样例不参与 CMake 构建。目录体系上C 样例按主题划分为 10 个分区由 cpp/CMakeLists.txt 中add_subdirectory的顺序可见目录主题cpp/0_Introduction入门基础runtime API、向量加、矩阵乘、纹理、流、多 GPU 等cpp/1_Utilities工具类设备能力查询deviceQuery、拓扑查询cpp/2_Concepts_and_Techniques概念与技术归约、扫描、直方图、粒子系统等cpp/3_CUDA_FeaturesCUDA 特性Cooperative Groups、CUDA Graphs、Dynamic Parallelism、Tensor Core GEMMcpp/4_CUDA_Libraries平台库NPP、NVJPEG、cuBLAS、cuFFT、cuSPARSE、cuSOLVER、cuRAND、CUBcpp/5_Domain_Specific领域应用图形、金融、图像处理cpp/6_Performance性能优化转置、Unified Memory 性能等cpp/7_libNVVMlibNVVM 与 NVVM IR 使用cpp/8_Platform_Specific/Tegra平台相关Tegra、cuDLA、NvMedia、NvSci、OpenGL EScpp/9_CUDA_TileCUDA Tile C 编程13.3 新增见 CHANGELOG.md其中8_Platform_Specific/Tegra仅在开启BUILD_TEGRA时才会加入构建cpp/CMakeLists.txt。每个样例目录内都配有独立的README.md、CMakeLists.txt与数据文件既可以随仓库整体构建也可以单独进入任意样例目录构建。二、环境准备与获取源码2.1 前置条件安装与平台匹配的CUDA Toolkit 13.3下载与安装请参考 CUDA 官方 Linux / Windows 安装指南若通过源码构建 C 样例需要CMake 3.20 或更高版本Python 样例需要Python 3.10与匹配的 CUDA Python 包。2.2 获取源码使用 git 克隆git clone https://github.com/NVIDIA/cuda-samples.git在本仓库语境下即克隆当前项目GitHub_Trending/cu/cuda-samples。如果不使用 git也可在仓库页面点击 Download ZIP 下载压缩包后解压使用。三、在 Linux 上构建官方推荐的流程是在仓库根目录创建独立的构建目录保持源码目录干净配置、编译、运行# 1. 安装 CMake如尚未安装以 Ubuntu 为例 sudo apt install cmake # 2. 进入仓库根目录创建构建目录 mkdir build cd build # 3. 配置 cmake .. # 4. 并行编译-j$(nproc) 使用全部 CPU 核心 make -j$(nproc)编译完成后可执行文件位于build/下各样例对应的子目录中直接进入相应目录运行即可。这套流程同样适用于从仓库任意子目录或单个样例目录发起构建——每个样例的CMakeLists.txt都是自洽的例如 cpp/0_Introduction/vectorAdd/CMakeLists.txt 独立声明了project(vectorAdd LANGUAGES C CXX CUDA)、架构列表与setup_samples_install()安装钩子。四、在 Windows 上构建Windows 上有两种方式方式一Visual Studio 集成推荐Visual Studio 2019 16.5 及以上版本内置 CMake 语言服务可直接从仓库根目录、任意子目录或单个样例目录导入项目。打开后选择配置Debug 或 Release按F7Build Solution即可编译。方式二命令行使用 Visual Studio 提供的x64 Native Tools Command Prompt for VSmkdir build cd build cmake .. -G Visual Studio 16 2019 -A x64然后打开生成的解决方案文件CUDA_Samples.sln选择配置后按F7构建运行产物位于 Visual Studio 指定的输出目录。由于是 multi-config 生成器构建类型在编译/安装时通过--config指定见下文安装章节。五、平台相关构建选项与片上调试5.1 启用 GPU 片上调试cuda-gdbNVIDIA GPU 支持通过 cuda-gdb 进行片上调试但开启调试会禁用部分编译器优化显著影响运行性能因此默认关闭。开关由 nvcc 的-G选项控制在 CMake 层面通过ENABLE_CUDA_DEBUG宏开启cmake -DENABLE_CUDA_DEBUGTrue ...对应的实现逻辑见 CMakeLists.txt开启后追加-G关闭时则追加-lineinfo二者互斥-lineinfo为调试工具保留行号信息。5.2 平台特定样例开关部分样例仅面向特定平台需要通过 CMake 变量显式开启仓库定义的核心平台开关为BUILD_TEGRA构建 Tegra 平台相关样例cuDLA、NvMedia、NvSci、OpenGL ES 等cmake -DBUILD_TEGRATrue ..该变量既可在命令行传入也可在 CMake GUI 中设置未开启时cpp/CMakeLists.txt 中8_Platform_Specific/Tegra整棵子树都不会进入构建。六、面向嵌入式与车载平台的交叉编译6.1 交叉编译到 Tegraaarch64 Linux先安装 NVIDIA 提供的 Tegra 交叉编译工具链然后使用仓库自带的 toolchain 文件配置mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE../cmake/toolchains/toolchain-aarch64-linux.cmake -DTARGET_FS/path/to/target/system/file/system make -j$(nproc)关键参数说明CMAKE_TOOLCHAIN_FILE指向 cmake/toolchains/toolchain-aarch64-linux.cmake该文件指定了aarch64-linux-gnu-gcc/g交叉编译器、CMAKE_CROSSCOMPILING TRUE以及 CUDA 编译时的-ccbin宿主编译器标志TARGET_FS目标文件系统根路径。toolchain 文件会将其用作CMAKE_SYSROOT并自动探测 CUDA Toolkit 在目标端的安装位置优先aarch64-linux回退sbsa-linux见 toolchain-aarch64-linux.cmake同时为链接器追加-rpath-link指向目标端的/usr/lib等库目录。编译产物为 aarch64 架构需传输到 Tegra 设备上执行。6.2 从 DriveOS Docker 容器交叉构建 Automotive Linux 平台面向 DriveOS 容器环境构建时需要先把目标 Root FilesystemRFS挂载进容器使 CMake 能正确找到 CUDA 与系统库路径# 1. 创建临时挂载点 mkdir /drive/temp # temp 为任意临时目录例如 /drive/temp # 2. 挂载目标文件系统镜像 mount /drive/drive-linux/filesystem/targetfs-images/dev_nsr_desktop_ubuntu-24.04_thor_rfs.img /drive/temp # 3. 配置 mkdir build cd build cmake .. -DBUILD_TEGRATrue \ -DCMAKE_CUDA_COMPILER/usr/local/cuda/bin/nvcc \ -DCMAKE_TOOLCHAIN_FILE../cmake/toolchains/toolchain-aarch64-linux.cmake \ -DTARGET_FS/drive/temp \ -DCMAKE_LIBRARY_PATH/drive/temp/usr/local/cuda-13.1/thor/lib64/ \ -DCMAKE_INCLUDE_PATH/drive/temp/usr/local/cuda-13.1/thor/include/注意事项README 明确提示的已知限制DriveOS dev-nsr 目标文件系统中未预装libdrm-dev与Vulkan会导致 CMake 报错相关样例依赖 Vulkan / libdrm 的simpleGL、simpleVulkan、simpleVulkanMMAP、simpleGLES_EGLOutput无法构建。缓解手段有两种# 方式一make 时忽略错误继续 make -j$(nproc) --ignore-errors # 或 --keep-going# 方式二注释掉父目录 CMakeLists 中对应的 add_subdirectory # 在 cpp/5_Domain_Specific/CMakeList.txt 中 # add_subdirectory(simpleGL) # add_subdirectory(simpleVulkan) # add_subdirectory(simpleVulkanMMAP) # 在 cpp/8_Platform_Specific/Tegra/CMakeList.txt 中 # add_subdirectory(simpleGLES_EGLOutput)6.3 QNX 平台交叉编译CUDA 13.0 起支持通过 CMake 交叉编译 QNX面向 Tegra Thor QNX 平台的典型配置如下mkdir build cd build QNX_HOST/path/to/qnx/host \ QNX_TARGET/path/to/qnx/target \ cmake .. \ -DBUILD_TEGRATrue \ -DCMAKE_CUDA_COMPILER/usr/local/cuda-13.3/bin/nvcc \ -DCMAKE_TOOLCHAIN_FILE../cmake/toolchains/toolchain-aarch64-qnx.cmake \ -DCMAKE_LIBRARY_PATH/usr/local/cuda-13.3/thor/targets/aarch64-qnx/lib/stubs/ \ -DCMAKE_INCLUDE_PATH/usr/local/cuda-13.3/thor/targets/aarch64-qnx/include/其中QNX_HOST/QNX_TARGET环境变量由 toolchain-aarch64-qnx.cmake 在配置阶段使用CMAKE_LIBRARY_PATH/CMAKE_INCLUDE_PATH指向 Thor QNX 目标的 CUDA stub 库与头文件。QNX 平台上的窗口系统为 Screen见依赖章节相关样例的依赖随根文件系统提供。6.4 新旧驱动共存的前向兼容Forward Compatibility使用新版 CUDA ToolkitCUDA 13.0与新版 UMD版本 580搭配旧版 KMD版本 550 及更早构建样例时需要指定CMAKE_PREFIX_PATH指向新驱动库cmake -DCMAKE_PREFIX_PATH/usr/local/cuda/lib64/stubs/ ..其作用是在配置阶段优先搜索新版驱动提供的 stub 库避免链接到旧版 KMD 对应的过时符号。七、安装样例目录结构与自定义路径7.1 默认安装路径结构安装系统会自动按三维度组织输出目录实现细节见 cmake/InstallSamples.cmake目标架构${CMAKE_SYSTEM_PROCESSOR}如x64、aarch64、amd64目标 OSlinux、windows、darwin、qnx构建类型release、debug等。默认安装路径为build/bin/${TARGET_ARCH}/${TARGET_OS}/${BUILD_TYPE}具体示例平台安装路径Linux x86_64 Releasebuild/bin/x64/linux/releaseLinux aarch64 Releasebuild/bin/aarch64/linux/releaseWindows amd64 Releasebuild/bin/amd64/windows/release从源码看cmake/InstallSamples.cmake该模块会自动检测架构小写化CMAKE_SYSTEM_PROCESSOR、操作系统含 QNX 特判与构建类型multi-config 生成器在安装时用$LOWER_CASE:$CONFIG求值单配置生成器默认Release并生成安装脚本。7.2 自定义安装路径两个 CMake 变量控制安装位置CMAKE_INSTALL_PREFIX修改安装根目录默认build/bincmake -DCMAKE_INSTALL_PREFIX/custom/path .. # 安装到 /custom/path/${TARGET_ARCH}/${TARGET_OS}/${BUILD_TYPE}CUDA_SAMPLES_INSTALL_DIR指定精确的最终安装目录覆盖上述分层结构cmake -DCUDA_SAMPLES_INSTALL_DIR/exact/install/path ..7.3 Linux 安装前提是先完成配置与构建然后在build/目录执行cd build/ make install安装脚本会把三类文件复制到目标目录对应 cmake/InstallSamples.cmake 的实现可执行文件Unix 下按test -x判定Windows 下按.exe扩展名、数据文件.fatbin、.ptx、.bc、.raw、.ppm等保留可读权限但不带执行权限、共享库Windows 的.dll、Linux 的.so并会跳过.cu/.cpp/.h等源码与 CMake 中间产物。7.4 Windows 安装命令行方式在x64 Native Tools Command Prompt for VS中cd build cmake --build . --config Release cmake --install . --config Release注意Visual Studio 属于 multi-config 生成器--config决定安装的构建类型将Release换成Debug即可安装调试版。Visual Studio IDE 方式打开CUDA_Samples.sln选择配置Release 或 Debug构建解决方案F7在 Solution Explorer 的CMakePredefinedTargets下右键INSTALL目标选择 Build。八、CUDA Python 样例cuda.core 驱动的脚本化示例自 CUDA 13.2 起见 CHANGELOG.md仓库新增python/目录提供cuda.core 导向的 Python 样例使用 CUDA Python 生态中的cuda.core管理设备、程序、launch 与内存并结合 NumPy / CuPy / 框架互操作。目录布局与 C 样例主题一一对应目录内容python/1_GettingStarted入门脚本vectorAdd、deviceQuery、systemInfo、Unified Memory 图像模糊、NumPy vs CuPy 等python/2_CoreConcepts算法与技术归约、直方图、FFT、流重叠、memoryResources、cudaGraphs、jitLtoLinking、tmaTensorMap等python/3_FrameworkInterop与 PyTorch、TensorFlow 的集成python/4_DistributedComputing多 GPU、P2P、IPC 模式ipcMemoryPoolpython/Utilities共享工具模块如cuda_samples_utils.py被部分样例 import运行方式顶层 CMake 构建不会编译这些脚本。每个样例需要独立创建 Python 3.10 环境并安装依赖cd python/category/sampleName pip install -r requirements.txt python sampleScript.py仓库根目录提供统一的 python/requirements.txt 说明整体依赖版本。各样例的README.md会给出前置条件、CLI 选项与预期输出——例如 python/1_GettingStarted/vectorAdd/README.md 详细列出了cuda-python、cuda-core、cupy-cuda13x的版本要求CUDA 13.x 对应cupy-cuda13x以及--elements、--device、--no-verify等自定义参数用法。九、用 run_tests.py 一键运行全部样例仓库明确声明样例不是CUDA 验证套件但当需要快速做一次全量冒烟检查时可以用根目录的 run_tests.py 脚本。9.1 工作方式与命令行参数脚本会递归扫描指定目录下所有可执行文件依据 test_args.json 中的配置匹配应用名Windows 上忽略.exe后缀逐个运行并捕获输出。支持的参数开关作用示例--dir递归搜索可执行文件的根目录--dir ./build/cpp--config可执行参数配置的 JSON 文件--config test_args.json--output测试结果输出目录stdout 存为 .txt目录不存在会自动创建--output ./test--args传给所有可执行文件的全局参数当前未使用--args arg_1 arg_2 ...--parallel并行执行的应用数--parallel 8脚本成功返回 0失败则返回第一个非零错误码并打印失败样例的简明列表。从源码看run_tests.py每个测试实例有 5 分钟超时退出码 2EXIT_WAIVED被特殊对待为waived硬件/需求不满足不计入失败启动时会通过nvidia-smi -L探测 GPU 数量探测不到时回退读取CUDA_VISIBLE_DEVICES见 run_tests.py无 GPU 则直接退出。9.2 三种配置模式1Skip —— 跳过执行适用于依赖图形界面、不适合自动化运行的样例如流体/GL 演示fluidsGL: { skip: true }输出Skipping fluidsGL (marked as skip in config)2Single Run —— 单次运行args列表中的每项会以空格分隔追加到命令行所有应用都从自身所在目录执行因此路径均相对应用位置。无需参数的应用可以省略该配置项未匹配到配置的可执行文件会以./application直接运行。ptxgen: { args: [ test.ll, -archcompute_75 ] }输出Running ptxgen Command: ./ptxgen test.ll -archcompute_75 Test completed with return code 03Multiple Runs —— 多组参数多次运行通过runs列表指定任意多组参数recursiveGaussian: { runs: [ { args: [ -sigma10, -filedata/ref_10.ppm ] }, { args: [ -sigma14, -filedata/ref_14.ppm ] }, { args: [ -sigma18, -filedata/ref_18.ppm ] }, { args: [ -sigma22, -filedata/ref_22.ppm ] } ] }输出Running recursiveGaussian (run 1/4) Command: ./recursiveGaussian -sigma10 -filedata/ref_10.ppm Test completed with return code 0 Running recursiveGaussian (run 2/4) Command: ./recursiveGaussian -sigma14 -filedata/ref_14.ppm Test completed with return code 0 ...除了 README 展示的这三种模式仓库内的 test_args.json 还实际使用了两个额外的配置键体现脚本的扩展能力min_gpus声明样例所需 GPU 数量如simpleP2P、conjugateGradientMultiDeviceCG、simpleCUFFT_MGPU等要求min_gpus: 2脚本会在 GPU 数不足时自动跳过run_tests.pypython配置段为 Python 样例提供args与launcher如multiGPUGradientAverage通过mpirun --allow-run-as-root -np 2启动reductionMultiBlockCG通过--cuda-include-dir指定 CUDA 头文件路径。9.3 完整示例构建并测试全部样例# 1. 构建 mkdir build cd build cmake .. make -j$(nproc) # 2. 回到仓库根目录运行测试脚本 cd .. python3 run_tests.py --output ./test --dir ./build/cpp --config test_args.json全部成功时输出类似具体数量取决于构建类型与系统配置Test Summary: Ran 199 test runs for 180 executables. All test runs passed!部分失败时输出类似Test Summary: Ran 199 test runs for 180 executables. Failed runs (2): bicubicTexture (run 1/5): Failed (code 1) Mandelbrot (run 1/2): Failed (code 1)排查方法查看输出目录下的 stdout 日志命名规则为APM_application_name.txt多组参数时为APM_application_name.runn.txt。若确认是样例本身在特定系统上的错误可在样例仓库提交 issue 反馈。十、依赖说明第三方库与 CUDA 特性部分样例依赖第三方库或 CUDA Toolkit / Driver 提供的特性。若某样例的第三方依赖在系统中存在但未安装该样例会在构建时自我放弃waive。每个样例的依赖列在其 README 的 Dependencies 一节。10.1 第三方依赖依赖用途与安装要点FreeImage开源图像库。Linux 用发行版包管理器安装Windows 上把 DLL 发行包解压到./Common/FreeImage/Dist/x64含 .h 与 .lib并将 .dll 复制到 Release/Debug 执行目录或在 cmake 配置时传-DFreeImage_INCLUDE_DIR/-DFreeImage_LIBRARYMPI分布式进程通信 API。Linux 用包管理器装 MPI 编译器如 Open MPIWindows 可装 MS-MPI SDKDirectXMicrosoft 平台多媒体 API。构建 CUDA-DirectX 互操作样例需 VS 2012提供 Windows 8 SDKDirectX12面向 Windows 10 的低开销 API。构建 DX12 互操作样例需 Windows 10 SDK 或更高、VS 2015/2017OpenGL / OpenGL ES桌面/嵌入式图形库由 CUDA Driver 提供 NVIDIA 实现FreeglutGLUT 开源替代用于创建 OpenGL 窗口与处理输入。Windows on ARM 需自行下载源码构建将 freeglut.lib 放入./Common/lib/x64、freeglut.dll 放入./bin/win64/${BUILD_TYPE}Vulkan跨平台低开销 3D 图形/计算 API。构建与运行需安装 Vulkan SDKGLEWOpenGL 扩展加载库。Windows on ARM 需自行构建将 glew32.lib 放入./Common/lib/x64、glew32.dll 放入./bin/win64/${BUILD_TYPE}GLFW管理 OpenGL/OpenGL ES/Vulkan 上下文与输入。Windows 上下载预编译二进制解压后以-DGLFW_INCLUDE_DIR/-DGLFW_LIB_DIR传入 cmakeOpenMP多处理编程 API通常随 GCC 预装。若用 clang 需在构建 LLVM 时启用openmp运行时若报libomp.so找不到需把含libomp.so的目录加入LD_LIBRARY_PATH或配置ld.so.conf.dScreenQNX 操作系统的窗口系统通常随根文件系统提供X11*-nix 风格系统的窗口系统Linux 用包管理器安装macOS 预装EGL / EGLOutput / EGLSyncKhronos 渲染 API 与本地窗口系统间的接口以及直接渲染到显示、同步对象的 EGL 扩展NVSCINvSciBuf缓冲分配交换与 NvSciSync同步对象管理CUDA 通过它们互操作NvMediaTegra 上的多媒体硬件加速 API用于图像与视频数据处理仓库的Common/目录已随附部分构建期依赖如 Common/GL/ 下的 GLEW/GLUT 头文件、Common/lib/x64 下的freeglut.lib与glew64.lib、Common/data 下的共享测试数据.raw、.pgm。10.2 CUDA 特性依赖特性说明CUFFT Callback Routines用户提供的加载/存储回调内核仅 Linux x86_64 与 ppc64le 可用CUDA Dynamic Parallelism (CDP)允许内核在 GPU 上由线程启动子内核需 SM 3.5Multi-block Cooperative Groups (MBCG)跨线程块同步Pascal 及以上架构Multi-Device Cooperative Groups多 GPU 线程块协作同步Pascal 及以上架构CUBLAS / CUFFT / CURAND / CUSPARSEGPU 加速的 BLAS、FFT、随机数、稀疏矩阵库CUSOLVER基于 CUBLAS/CUSPARSE 的 LAPACK 式高层库稠密矩阵分解、三角求解、稀疏最小二乘、特征值求解及重分解库NPPGPU 加速的图像、视频与信号处理原语NVGRAPHGPU 加速的图分析库NVJPEGGPU 加速 JPEG 解码面向深度学习与超大规模多媒体NVRTCCUDA C 运行时编译库NVJITLINK运行时链接多个 GPU 设备代码对象支持 JIT LTOStream Priorities指定优先级的流需 SM 3.5Unified Virtual Memory (UVM)CPU/GPU 免显式拷贝共享内存仅 Linux 与 WindowsFP1616 位浮点格式1 符号位 5 指数位 10 尾数位C11 CUDAnvcc 对 C11 特性的支持CMakelibNVVM 样例使用 CMake 3.10 构建十一、其他仓库资源版本历史仓库演进记录见 CHANGELOG.md从 CUDA 9.2GitHub 首版到 13.3可追溯每个样例的新增、移除与 API 迁移例如 CUDA 13.0 将废弃的cudaDeviceProp字段替换为cudaDeviceGetAttribute以及cuCtxCreate→cuCtxCreate_v4、cudaGraphAddNode→cudaGraphAddNode_v2等 API 升级贡献指南仓库欢迎 issue 与建议但当前阶段暂不接受外部代码贡献源码遵循 Google C Style Guide见 README.md 的 Contributors Guide 一节常见问题与参考CUDA 常见问题可参考 NVIDIA 官方 FAQ 与 CUDA Toolkit Release Notes深入学习可阅读 CUDA Programming Guide 与 Accelerated Computing Blog均为 README 引用的官方资料。结语围绕这套 CUDA Samples 仓库本文完整覆盖了从获取源码、Linux/Windows 原生构建、Tegra/QNX/DriveOS 交叉编译、定制化安装到基于 run_tests.py 与 test_args.json 的全量自动化冒烟测试并深入到根 CMakeLists.txt、cmake/InstallSamples.cmake 与 toolchain 文件的实现细节。无论是入门 CUDA 编程、学习库 API 用法还是为嵌入式/车载平台搭建样例构建环境本文都可以作为按图索骥的起点。【免费下载链接】cuda-samplesSamples for CUDA Developers which demonstrates features in CUDA Toolkit项目地址: https://gitcode.com/GitHub_Trending/cu/cuda-samples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

WTF Solidity 极简入门:抽象合约(abstract)与接口(interface)——以 IERC721 为例的深度实战解析

WTF Solidity 极简入门:抽象合约(abstract)与接口(interface)——以 IERC721 为例的深度实战解析

WTF Solidity 极简入门:抽象合约(abstract)与接口(interface)——以 IERC721 为例的深度实战解析 【免费下载链接】WTF-Solidity WTF Solidity 极简入门教程,供小白们使用。Now supports English! 官网: ht…

📅 2026/9/16 0:01:42
蜂窝调度算法 MATLAB 实现:比例公平、轮询与最大 C/I 对比

蜂窝调度算法 MATLAB 实现:比例公平、轮询与最大 C/I 对比

简介:面向无线通信与Matlab仿真学习者的蜂窝系统小区用户通信调度程序,完整实现了比例调度、最大速率调度、最小延迟调度三种经典算法。程序以小区用户资源分配为核心,通过模拟信道状态信息与调度器决策,可直观对比不同策略下系统…

📅 2026/9/16 0:01:42
JSP+Servlet+MySQL博客系统源码部署与优化全攻略

JSP+Servlet+MySQL博客系统源码部署与优化全攻略

简介:这是一份基于 Java Web 三大核心技术——JSP、Servlet 与 MySQL 构建的博客系统网站源码,适合刚开始接触 Java 服务端开发的初学者、正在准备课程设计或毕业设计的学生,以及希望快速搭建个人博客的开发者。资源包含用户注册登录、文章发…

📅 2026/9/16 0:01:42
MORE NEWS

更多资讯

📰

CentOS停更替代方案:Rocky Linux从零到KVM虚拟化实战指南

“CentOS还能用吗?”这是我近两年被问最多的一句话。如果你也是奔着这个问题点进来的,那我直接给结论:CentOS 8在2021年底就停止维护了,CentOS 7也将在2024年6月正式退役。对于跑业务的服务器来说,继续用等于裸奔。而R…

📰

Delphi 12.3 下迁移老版 PDFtoolkit VCL 源码版,从编译报错到组件栏安装全记录

简介:Delphi 12-PDFtoolkit VCL 5.0.0.297是一款面向Delphi开发者的PDF处理控件源码包,支持从Delphi 6到XE10.1的多个版本,适合需要在VCL应用中集成PDF生成、编辑、转换功能的开发人员。压缩包以RAR格式封装,整体大小约230.69MB&a…

📰

React Native与鸿蒙的MobX状态管理实践

1. 项目概述:React Native与鸿蒙的跨平台状态管理方案在移动端跨平台开发领域,React Native与鸿蒙系统的结合正成为技术探索的新方向。这个项目聚焦于使用MobX这一流行状态管理库,在React Native for HarmonyOS(鸿蒙)环…

📰

Notion 知识库数据库设计最佳实践:基于 awesome-codex-skills 的 notion-knowledge-capture 实战指南

Notion 知识库数据库设计最佳实践:基于 awesome-codex-skills 的 notion-knowledge-capture 实战指南 【免费下载链接】awesome-codex-skills A curated list of practical Codex skills for automating workflows across the Codex CLI and API. 项目地址: https…

📰

基于MATLAB的汽车车型识别系统设计与实现

1. 项目概述汽车车型识别系统是计算机视觉领域的一个经典应用场景。这个基于MATLAB开发的系统,能够通过图像处理技术自动识别车辆的品牌和型号。在实际应用中,这类系统可以用于智能停车场管理、交通流量统计、4S店客户分析等多个场景。我最初开发这个系统…

📰

代码即图:diagram-design 工程化实践指南

1. 项目概述:从一张图开始的可视化工程实践“diagram-design”这个词,乍看像一个模糊的开发术语,其实它背后站着一整套现代前端可视化工作流——不是画个流程图交差就完事,而是把图表当作可编程、可复用、可集成、可维护的工程资产…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬