cuda 相关问题

CUDA是Nvidia GPU(图形处理单元)的并行计算平台和编程模型。 CUDA通过各种编程语言,库和API为Nvidia GPU提供了一个接口。

Python Pytorch 找不到 Nvidia Tesla P40

我一直在努力让 pytorch 识别我的 Nvidia Tesla P40。我每天在 Dell Precision 7910 机架上运行 Ubuntu 24.04(我可能应该运行 22.04)。 我已经尝试过手动

回答 1 投票 0

thrust::transform() 导致从主机到设备的 cudaErrorIllegalAddress

以下test.cu程序 #包括 #包括 #包括 #包括 #包括 以下test.cu程序 #include <thrust/copy.h> #include <thrust/execution_policy.h> #include <thrust/transform.h> #include <thrust/device_vector.h> #include <thrust/host_vector.h> #include <iostream> using HOST_TYPE=int32_t; using DEVICE_TYPE=int; template <typename T> struct Cast { __host__ __device__ T operator()(HOST_TYPE i) const { return static_cast<T>(i); } }; int main() { // Initialize host data thrust::host_vector<HOST_TYPE> const h_vec{1, 2, 3, 4, 5}; // Allocate space on the device thrust::device_vector<DEVICE_TYPE> device_data(h_vec.size()); // Copy data from host to device //thrust::copy(h_vec.cbegin(), h_vec.cend(), device_data.begin()); // this works thrust::transform(h_vec.cbegin(), h_vec.cend(), device_data.begin(), Cast<DEVICE_TYPE>{}); // Copy back to host to check thrust::host_vector<DEVICE_TYPE> host_data_copy = device_data; for (DEVICE_TYPE val : host_data_copy) { std::cout << val << " "; } std::cout << std::endl; return 0; } 原因 $ nvcc test.cu $ ./a.out terminate called after throwing an instance of 'thrust::system::system_error' what(): parallel_for: failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered Aborted (core dumped) 这发生在生产线上 thrust::transform(h_vec.cbegin(), h_vec.cend(), device_data.begin(), Cast<DEVICE_TYPE>{}); 即使类似的thrust::copy()运行良好: thrust::copy(h_vec.cbegin(), h_vec.cend(), device_data.begin()); // this works 我在文档中找不到任何内容说明thrust::transform()不应在设备和主机之间转换数据。我是不是在某个地方错过了这个? 使用 thrust::host 或 thrust::device 执行策略没有帮助。 版本: $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Fri_Nov__3_17:16:49_PDT_2023 Cuda compilation tools, release 12.3, V12.3.103 Build cuda_12.3.r12.3/compiler.33492891_0 注意:实际应用需要 HOST_TYPE=char,但为了调试/说明目的,将其更改为 HOST_TYPE=int32_t,并与 std::copy() 进行比较。 请参阅转换: 除了可以在主机和设备之间复制数据的 Thrust::copy 之外,Thrust 算法的所有迭代器参数都应该位于同一位置:要么全部位于主机上,要么全部位于设备上。当违反此要求时,编译器将产生错误消息。

回答 1 投票 0

如何使用 Nsight Compute 分析寄存器溢出?

我无法找到本地内存使用数据的位置。现在,我只知道在源代码中寻找STL指令。我希望我能找到具体的数字。

回答 1 投票 0

使用 intel clang++ 为 nvidia cuda GPU 构建二进制文件时找不到 libspirv-nvptx64--nvidiacl.bc

我使用以下命令为 nvidia GPU 构建二进制文件: clang++ -fsycl -fsycl-targets=nvptx64-nvidia-cuda simple-sycl-app.cpp -o simple-sycl-app-cuda 但收到以下错误消息: clang++:错误:可以...

回答 2 投票 0

运行预训练模型时 Cuda 内存不足

我是 pytorch 世界的新手,我使用搜索和其他几个来源来摆脱 CUDA 内存错误,但运气不佳,也许这里的任何人都有解决方案。 我有以下代码并且...

回答 1 投票 0

多个cuda内核可以在同一个SM上并行执行吗?

假设一个 cuda gpu 只有一个 SM。 我可以并行启动两个使用 512 个线程的 cuda 内核吗?或者内核是按块分配的,导致内核按顺序执行,而不是按

回答 1 投票 0

尽管正确安装了cuda工具包,为什么在vscode中include cuda_runtime.h被标记为红色?

我有一个c-cuda项目。它有一个 main.c 文件和一个 deviceFunctions.cu 文件。 Visual Studio Code 用于处理该项目,还有此扩展:安装 ms-vscode.cpptools 来获取代码

回答 1 投票 0

如何正确使用CuPy Streams

我目前正在尝试找出如何有效地使用 CuPy 流。以下代码通过重复矩阵乘法计算矩阵幂。我希望下面的代码能花...

回答 2 投票 0

使用 CUDA 计算数百个小矩阵的特征值/特征向量

我有一个关于使用 CUDA 对数百个小矩阵进行特征分解的问题。 我需要计算数百个(例如 500 个)小(64×64)实对称的特征值和特征向量

回答 2 投票 0

如何在主机上构建和访问libcu++'<cuda/std/mdspan>

libcu++ 2.1.0 包含适用于 c++14 及更高版本的 nvcc 的 mdspan 实现。 我尝试使用 cppreference (https://en.cppreference.com/w/cpp/container/mdspan) 实现 mdspan 示例代码...

回答 1 投票 0

CUDA 块聚类:大小、维数和可分性限制

从 Hopper u 架构开始,NVIDIA GPU 支持块集群(CUDA 编程指南第 2.2.1 节)。那里的描述给我留下了两个难题(难题?) 导游说 一个

回答 1 投票 0

导入错误:libcuda.so.1:无法打开共享对象文件

当我直接使用 TensorFlow 运行代码时,一切正常。 但是,当我在屏幕窗口中运行它时,出现以下错误。 导入错误:libcuda.so.1:无法打开共享对象文件:N...

回答 6 投票 0

CUDA 内核不修改值

最近我收到了与 CUDA 内核相关的奇怪错误。为了找到根源,我编写了这个非常简单的代码进行测试: #包括 #定义N 3 __global__ 无效广告...

回答 1 投票 0

如何正确调试cuda内核?

我有这个功能: 无效initializeCudaMatrixWithCPUMatrix(浮动*主机A,浮动* cudaA,int n, 整数米){ // 浮动 testt = hostA[888]; cudaMalloc((void **)...

回答 1 投票 0

Cuda 上的分段错误

我正在编写CUDA程序来处理图像。我遇到了分段错误问题,但我完全不知道为什么。我可能只是错过了一些小事,但经过几个小时的尝试纠正我的......

回答 1 投票 0

使用 CUDA 11.0 安装 PyTorch 1.10.0 的 Torchaudio

在我的 Ubuntu 18.04 机器上,我有一个包含 pytorch=1.10.0=cuda110py38hf84197b_0 的虚拟环境。我的 CUDA 版本是 11.0,我通过运行 nvidia-smi 进行了检查。我要安装

回答 1 投票 0

带和不带-lineinfo标志时内核的寄存器使用计数不同

我有一个在 CUDA 上运行的简单矩阵乘法内核。 使用 -lineinfo 命令和 --ptxas-options -v 进行编译时,寄存器计数显示为 28,而没有 -lineinfo

回答 1 投票 0

调用CUDA内核时出现“无效配置参数”错误?

这是我的代码: int threadNum = BLOCKDIM/8; dim3 dimBlock(threadNum,threadNum); int block1 = nWidth/threadNum + (nWidth%threadNum == 0 ? 0 : 1); int 块2 = nHeight/线程数 + (nHeight%线程...

回答 2 投票 0

Intellisense 不适用于 Visual Studio 2019 中的 CMake CUDA 项目

我有一个非常简单的CUDA项目: 单个 .cu 文件。 一个简单的 CMakeLists.txt 文件: cmake_minimum_required(版本3.17) 项目(simpleCuda LANGUAGES CXX CUDA) add_executable(simpleCuda)

回答 2 投票 0

计算单元、SMX、CUDA 核心等之间有什么关系?

我对这些术语很困惑...我知道 nVidia GPU 有一些流式多处理器 (SMX),每个处理器由多个 CUDA 核心(流式处理器,SP)组成。然而...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.