我尝试在NVIDIA的官方网站上运行示例程序.大多数程序运行顺利,除了少数我收到类似错误消息的地方.我该如何解决这个问题?这是运行名为"MatrixMul"的程序后得到的错误消息示例.
注意:我在Window7x64操作系统上安装了x32和x64 NVIDIA CUDA Toolkit v5.0.
'matrixMul.exe': Loaded 'C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Debug\matrixMul.exe', Symbols loaded.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\cudart32_50_35.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll', Cannot find or open the PDB file …Run Code Online (Sandbox Code Playgroud) 我知道这nvidia-smi -l 1将每秒钟提供一次GPU使用(类似于以下内容).但是,我很欣赏有关Volatile GPU-Util真正含义的解释.这是使用的SM数量超过总SM数,占用数量还是其他数量?
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48 Driver Version: 367.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K20c Off | 0000:03:00.0 Off | 0 |
| 30% 41C P0 53W / 225W | 0MiB / 4742MiB | 96% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla K20c Off | 0000:43:00.0 Off | 0 |
| 36% …Run Code Online (Sandbox Code Playgroud) 我安装了IntelliJ IDEA(13.1.1#IC-135.480)和JDK 1.8.0(x64),并使用GUI Form设计器生成了一些GUI.
然后我运行代码并意识到某些事情是不正常的.
这是我的GUI的屏幕截图:

Font的渲染似乎不合适.另外,当我将鼠标移到它上面时,Button会丢失其文本.
所以我安装了JDK 1.7.0_40(x64),重新编译了Project并再次运行它.
当我使用JDK 1.7时,会出现以下表格:

渲染似乎没问题,按钮也没关系.
所以我安装了最新的Graphics和Chipset驱动程序等等,但问题仍然存在.您是否遇到过Java Swing UI这样的问题?你能帮我解决一下我的问题吗?任何帮助将不胜感激.
我创建了一个只有1个JTextArea和1个JButton的小项目,我有相同的渲染问题.
据安德鲁汤普森说,我改变了setSize(),我从EDT开始.以下示例:
package at.maeh.java.client.simpleTextClient;
import javax.swing.*;
import java.awt.*;
public class SimpleClient extends JFrame {
private JPanel panel1;
private JTextArea textArea1 = new JTextArea();
private JButton button1 = new JButton();
public SimpleClient() {
super("SimpleClient");
// Panel
panel1 = new JPanel();
panel1.setLayout(new FlowLayout());
// BUtton
button1.setText("TestButton");
// TextArea
textArea1.setColumns(40);
textArea1.setRows(15);
// Add Components
panel1.add(textArea1);
panel1.add(button1);
// Add to Frame
this.getContentPane().add(panel1);
// pack and set Visible
pack(); …Run Code Online (Sandbox Code Playgroud) 我是CUDA范例的新手.我的问题是确定每个块的线程数和每个网格的块数.有点艺术和试验吗?我发现很多例子都是为这些东西选择了看似随意的数字.
我正在考虑一个问题,我可以将矩阵 - 任何大小 - 传递给乘法方法.因此,C的每个元素(如在C = A*B中)将由单个线程计算.在这种情况下,您如何确定线程/块,块/网格?
我想将我的技能扩展到GPU计算.我熟悉光线跟踪和实时图形(OpenGL),但下一代图形和高性能计算似乎是在GPU计算或类似的东西.
我目前在家用电脑上使用AMD HD 7870显卡.我可以为此编写CUDA代码吗?(我的直觉不是,但是因为Nvidia发布了编译器二进制文件,我可能错了).
第二个更普遍的问题是,我从哪里开始GPU计算?我确定这是一个经常被问到的问题,但我看到的最好是从08'开始,我认为从那时起该领域发生了很大的变化.
在多GPU计算机中,如何指定应运行CUDA作业的GPU?
作为一个例子,在安装CUDA时,我选择安装NVIDIA_CUDA-<#.#>_Samples然后运行几个nbody模拟实例,但它们都在一个GPU 0上运行; GPU 1完全空闲(使用监控watch -n 1 nvidia-dmi).检查CUDA_VISIBLE_DEVICES使用
echo $CUDA_VISIBLE_DEVICES
Run Code Online (Sandbox Code Playgroud)
我发现这没有设定.我尝试使用它
CUDA_VISIBLE_DEVICES=1
Run Code Online (Sandbox Code Playgroud)
然后nbody再次运行但它也进入了GPU 0.
我看了相关的问题,如何选择指定的GPU来运行CUDA程序?,但deviceQuery命令不在CUDA 8.0 bin目录中.除此之外$CUDA_VISIBLE_DEVICES$,我看到其他帖子引用环境变量,$CUDA_DEVICES但这些没有设置,我没有找到有关如何使用它的信息.
虽然与我的问题没有直接关系,但是使用nbody -device=1我能够让应用程序在GPU 1上运行但是使用nbody -numdevices=2不能在GPU 0和1上运行.
我在使用bash shell运行的系统上测试这个,在CentOS 6.8上,使用CUDA 8.0,2 GTX 1080 GPU和NVIDIA驱动程序367.44.
我知道在使用CUDA编写时,您可以管理和控制要使用的CUDA资源,但在运行已编译的CUDA可执行文件时,如何从命令行管理?
我的应用程序从网络获取数据并在场景中绘制(场景使用手工制作的OpenGL引擎).
它可以工作几个小时.当我不使用我的桌面时,我的显示器因显示器电源管理器信令(dpms)关闭.然后,当我触摸鼠标或键盘时,显示器打开,应用程序挂起(X也挂起).
如果我这样做
xset -dmps
操作系统不使用dpms并且应用程序工作稳定.
这些问题出现在Centos 6和Archlinux中,但是当我在Ubuntu 12.10下运行应用程序时,它运行得很好!
我尝试了不同的NVidia驱动程序.没有效果.
我尝试使用ssh进行远程登录并使用gdb附加到进程.打开监视器后,我无法在进程表中找到该应用程序.
如何诊断问题?当显示器关闭/打开时会发生什么(在OpengGL环境中)?使用dpms时,Ubuntu是否做了一些特别的事情?
我们猜测问题的原因!当监视器关闭时,我们失去了OpenGL上下文.当监视器唤醒时,应用程序挂起(无上下文).根据操作系统的不同,行为的差异是由于监视器连接不同:Kubuntu的监视器连接VGA电缆.所以(可能)它对X行为没有影响.
我对与HPC计算相关的术语完全不熟悉,但我刚刚看到EC2在AWS上发布了他们的新型实例,该实例由新的Nvidia Tesla V100提供支持,它具有两种"核心":Cuda Cores(5.120),以及张量核心(640).两者有什么区别?
我正在尝试通过命令提示符在Windows 7上编译cuda测试程序,我是这个命令:
nvcc test.cu
Run Code Online (Sandbox Code Playgroud)
但我得到的只是这个错误:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
Run Code Online (Sandbox Code Playgroud)
可能导致此错误的原因是什么?
我已经在Linux Ubuntu 16.04上成功安装了tensorflow(GPU)并进行了一些小改动,以使其与新的Ubuntu LTS版本一起使用.
但是,我想(谁知道为什么)我的GPU满足了计算能力大于3.5的最低要求.事实并非如此,因为我的GeForce 820M只有2.1.有没有办法让tensorflow GPU版本与我的GPU一起工作?
我问的是这个问题,因为显然没有办法让在iOS上使用数字流GPU版本,但通过搜索互联网,我发现事实并非如此,事实上,如果不是因为这个不满足的要求,我几乎可以工作.现在我想知道GPU计算能力的这个问题是否也可以修复.