问题标签 [tesla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
memory - cuMemGetInfo() 和 size_t 限制
借助函数 cuMemGetInfo(),我想知道我的 GPU 设备上的可用内存和总内存
我得到了结果:
我正在使用 64 位 Windows 7 上具有 6GB 内存的 Tesla C2070。但是,我的应用程序以 32 位运行。我的代码应该给我类似的东西:
I 4095*1024*1024 = 4293918720 约为 2^32(四舍五入后)。实际上, size_t 是一个指向无符号整数的指针(在 4 个字节上)。
所以这是我的问题。例如,是否可以更改 size_t 的定义以指向 unsigned long ?
谢谢
python - PyCUDA test_cumath.py 在 cosh 上失败
我在一台配备 TESLA C2075 的机器上安装了 pycuda。我在安装了 CUDA-6.0 编译器的 Ubuntu 14.04 上运行。
使用 python 2.7.9(通过 anaconda 发行版)和 numpy 1.9.0,我从 Andreas Kloeckner 在他的网站上提供的 ZIP 文件中安装了 pycuda 2014.1。(http://mathema.tician.de/software/pycuda/)
运行该 ZIP 文件提供的测试一切顺利,除了该test_cumath.py
文件。我收到以下错误:
有没有人建议cosh的GPU和CPU结果之间的这种差异来自哪里?测量值 2.38e-6 略高于 2e-6 的容差,这对我来说有点奇怪。尤其是其他的测试都成功了……?
gpu - 处理超过 4GB 的 GPU 内存——它是如何工作的?
今天典型的 GPU 大多是面向 32 位的。虽然它们可以执行双精度,但 ALU 基本上采用 32 位整数,线程索引和网格大小为 32 位,并且(我假设)伪指针也对应于 32 位无符号物理地址。
但是,某些 GPU(Teslas、GTX Titans)配备 6GB、8GB、12GB 内存。
那么,它是如何工作的?我的意思是,你能同时处理超过 4GB 的数据吗?如果是这样,怎么做?如果 i 是 unsigned long int 类型,你能做 a[i] = 123 吗?还是像过去 8086 那样的段偏移?或者也许每个内核单独只能寻址 4GB,但不同的内核可以寻址更多?
windows - 如何在配备 Tesla 的基于 Windows 的主机上使用 OpenGL 进行渲染
我曾经认为 Tesla 不会支持 OpenGL API,但最近发现 Tesla 产品也可以通过 OpenGL 进行可视化。
我有一个工作站,其中有 2 个 Intel E5 CPU 和 1 个 Tesla C2050。根据https://developer.nvidia.com/opengl-driver,Tesla C2050 至少应该支持 OpenGL 版本 3。
现在,我想在该工作站上使用 OpenGL 3.3 运行渲染服务程序,但没有成功。
以下是我尝试过的。
如果我通过 RDP 远程桌面登录,由于虚拟图形适配器,支持的 OpenGL 版本为 1.1。在这里,我使用 tscon commond 重新连接到 pysical 控制台。结果,RDP 连接丢失。当我重新连接时,我看到所有窗口都调整为 800*600 并且检测到的 OpenGL 支持仍然是 1.1。
如果我使用插入某种“集成图形适配器”的显示器登录,支持的 OpenGL 版本仍然是 1.1,可能是因为程序是在插入基本适配器的屏幕内启动的。但是 Tesla GPU 没有图形输出端口。
我想知道我应该如何配置主机以启用 Tesla GPU 用于基于 OpenGL 的渲染。
c - CUDA 程序在 Tesla K20 上运行比 GTX 965 慢
我正在做一个项目,我必须比较各种 gpu 卡以进行性能分析。
我在两个 GPU 中都运行了相同的 Canny Edge Detection 的 cuda 代码,发现 gtx 965 比 Tesla K20 快得多(200%)。我还观察到 Tesla C2075 的运行与 Tesla K20 的运行相同。
据我所知K20有2496核,965有1024核,C2075有448核。K20 和 C2075 是 NVIDIA Kepler 架构,965 是 Maxwell 架构。
我做错了什么或者导致这个问题的硬件部分有什么不同?
另外,我们可以使用任何程序或理论计算来检查显卡消耗的功率吗?
c++ - 为什么在块上使用 128 个线程后我的 cuda 程序变慢了?
我有一个简单的 cuda 应用程序,代码如下:
gpu 内核调用是daxpy<<<1, 512>>>(n, a, dx, dy)
,我使用不同的块大小执行了一些测试:
daxpy<<<1, 32>>>(n, a, dx, dy)
daxpy<<<1, 64>>>(n, a, dx, dy)
daxpy<<<1, 128>>>(n, a, dx, dy)
daxpy<<<1, 129>>>(n, a, dx, dy)
daxpy<<<1, 512>>>(n, a, dx, dy)
...并提出以下意见:
- 、 和块大小的执行时间相同
32
,64
128
- 执行时间因块大小
128
而异129
,特别是:128
执行时间为280ms ,- 因为
129
执行时间是 386ms。
我想问一下是什么导致了块大小128
和129
.
我的GPU是特斯拉K80:
cuda - Tesla k20m 与 Direct3D 11 的互操作性
我想知道我是否可以使用 Nvidia Tesla K20 和 Direct3D 11?
我想使用 Direct3D 渲染图像,然后使用 CUDA 处理渲染图像,[我知道如何解决 CUDA 互操作性]。
Tesla k20 没有显示适配器(物理远程适配器)
我设法使用 Tesla C2075 做到了这一点,但是使用 K20 我无法接收设备适配器( EnumAdapters 命令)。
是否可以与 Tesla K20 和 Direct3D 一起使用?
坦白说,这段代码是用记事本写的
谢谢
cuda - 在多个流上重叠内核执行
我们有一个相当单一的内核(见下文),我们用一个网格启动,块 1,1
内核<<<1,1>>>
然后它会动态地触发许多较小的内核。一般来说,数据从内核流向内核,输入从第一个内核开始,流向最后。
但是我们已经确定了一种潜在的能力,可以重叠两个数据流,每个数据流都运行这个相同的内核。
问题:我们是否必须放弃动态内核执行,转而采用基于主机的方法来获得两个巨型内核的执行重叠?或者卡中的调度程序是否足够智能,可以在两个超级内核之间交错执行并将每个超级内核作为单独的调度项处理?
我们谈论的是特斯拉 K80。Linux 主机。
(是的,我们将获得一些重叠与 cudamemcopyasync() 重叠执行,但我们也希望看到一些执行重叠)。
c - Nvidia Tesla 上的 OpenCL:未找到任何平台
我可以访问运行 Debian 7 并安装了两个 Nvidia Tesla 卡的系统。我想使用 OpenCL 做一些基准测试。但是,OpenCL 找不到任何兼容的平台。为了使用 OpenCL,我是否需要任何其他库或特殊驱动程序?
以下是显示未找到任何平台的示例代码:
而我用来编译代码的命令:
如果我运行代码,输出是:
concurrency - 共享 Tesla K20 的两个进程同时执行
当我启动 2 个内核实例以便在共享 GPU 资源的同时同时运行时,我遇到了一种奇怪的行为。
我开发了一个 CUDA 内核,旨在在单个 SM(多处理器)中运行,其中线程执行多次操作(带有循环)。
内核准备只创建一个块,因此只使用一个 SM。
简单的.cu
所以如果我执行内核:
time ./simple
我明白了
real 0m36.659s
user 0m4.033s
sys 0m1.124s
否则,如果我执行两个实例:
time ./simple & time ./simple
我得到每个过程:
real 1m12.417s
user 0m29.494s
sys 0m42.721s
real 1m12.440s
user 0m36.387s
sys 0m8.820s
据我所知,执行应该同时运行一次(大约 36 秒)。但是,它们的持续时间是基准时间的两倍。我们知道 GPU 有 13 个 SM,每个 SM 应该执行一个块,因此内核只创建 1 个块。
他们是在同一个SM中执行的吗?
他们不应该在不同的 SM 中同时运行吗?
已编辑
为了让我更清楚,我将附上从 nvprof 获得的并发执行的配置文件:
现在,我想向您展示同一场景的行为,但同时执行 matrixMul 示例的两个实例:
如您所见,在第一种情况下,一个内核等待另一个内核完成。而在第二种情况(matrixMul)中,来自两个上下文的内核同时运行。
谢谢你。