标签: compute-capability

如何让 CMake 自动检测 CUDA_ARCHITECTURES 的值?

较新版本的 CMake(3.18 及更高版本)“了解”CUDA 代码编译目标的 CUDA 架构的选择。目标有一个CUDA_ARCHITECTURES属性,设置后会-gencode arch=whatever,code=whatever为您生成适当的编译选项。如果您不设置此值,您甚至会收到警告:

CMake Error in CMakeLists.txt:
  CUDA_ARCHITECTURES is empty for target "my_cuda_app".
Run Code Online (Sandbox Code Playgroud)

默认情况下,该目标属性被初始化为CMAKE_CUDA_ARCHITECTURES。但CMAKE_CUDA_ARCHITECTURES它本身没有初始化为任何东西(!)

我们如何让 CMake 自动检测CUDA_ARCHITECTURES全局 或 的适当值CMAKD_CUDA_ARCHITECTURES?也就是说,使用系统上安装的 GPU 的架构?

build-automation cuda nvidia cmake compute-capability

6
推荐指数
2
解决办法
2万
查看次数

我可以调用哪种实用程序/二进制文件来确定nVIDIA GPU的计算能力?

假设我的系统安装了单个GPU,并且还安装了最新版本的CUDA。

我想确定我的GPU的计算能力是什么。如果我可以编译代码,那将很容易:

#include <stdio.h>
int main() {
    cudaDeviceProp prop;
    cudaGetDeviceProperties(&prop, 0);
    printf("%d", prop.major * 10 + prop.minor);
}
Run Code Online (Sandbox Code Playgroud)

但是-假设我想编译就这样做。我可以吗?我认为nvidia-smi可能会有所帮助,因为它可以让您查询有关设备的各种信息,但似乎并不能让您获得计算能力。也许我还能做些什么?也许通过/proc或系统日志可见的东西?

编辑:这旨在在构建之前在我无法控制的系统上运行。因此,它必须具有最小的依赖性,可以在命令行上运行并且不需要root特权。

cuda utility compute-capability

5
推荐指数
3
解决办法
1626
查看次数

CUDA-capability和CUDA版本:兼容?

我有一台具有1.1计算能力的CUDA GPU的机器.我想重新安装CUDA,我想我会用5.0;

有没有CUDA功能和CUDA版本之间的兼容性?使用带有CC 1.1的CUDA 5.0会有麻烦吗?GPU?

谢谢!

cuda compute-capability

3
推荐指数
1
解决办法
3004
查看次数

计算能力 7.5 中的缓存行为

这些是我的假设:

  1. 有两种类型的加载:缓存和非缓存。在第一个中,流量经过 L1 和 L2,而在第二个中,流量仅经过 L2。
  2. Compute Capability 6.x 和 7.x 中的默认行为是缓存访问。
  3. L1 缓存行为 128 字节,L2 缓存行为 32 字节,因此对于生成的每个 L1 事务,应该有四个 L2 事务(每个扇区一个)。
  4. 在Nsight中,SM->TEX请求意味着由32个线程合并而成的warp级指令。L2->TEX Returns 和 TEX->SM Returns 是每个内存单元之间传输的扇区数量的度量。

假设计算能力为 7.5,我的问题如下:

  1. 第三个假设似乎暗示对于全局缓存加载,L2->TEX 返回应该始终是四的倍数,但情况并非总是如此。这里发生了什么?
  2. 用 const 和 __restrict__ 限定符标记指针还有意义吗?这曾经是向编译器暗示数据是只读的,因此可以缓存在 L1/纹理缓存中,但现在所有数据都缓存在那里,无论是只读的还是非只读的。
  3. 根据我的第四个假设,我认为只要 TEX->SM Returns 大于 L2->TEX Returns,差异就来自缓存命中。这是因为当缓存命中时,您会从 L1 读取一些扇区,但不会从 L2 读取任何扇区。这是真的?

caching cuda gpgpu nsight compute-capability

1
推荐指数
1
解决办法
634
查看次数

不能在 Tensorflow 中使用 GPU

我已经安装了 CUDA 7.5 和 cuDNN 5.0 的 tensorflow。我的显卡是 NVIDIA Geforce 820M,功能为 2.1。但是,我收到此错误。

Ignoring visible gpu device (device: 0, name: GeForce 820M, pci bus id: 0000:08:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.
Device mapping: no known devices.
Run Code Online (Sandbox Code Playgroud)

有没有办法在 2.1 功能上运行 GPU?我在网上搜了一下,发现是cuDNN需要这个能力,那么安装较早版本的cuDNN是否可以让我使用GPU?

gpu compute-capability tensorflow

0
推荐指数
1
解决办法
3717
查看次数