标签: gpu

Nvidia Tesla vs 480用于CUDA编程

我正在研究CUDA编程.
我可以选购单一的NVidia Tesla或购买4-5 NVidia 480吗?
您有什么推荐的吗?

cuda gpu tesla

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

valgrind的意思是"跳转到无效地址"这里?

valgrind --leak-check=full ./CH02_HelloTriangle 
==11404== Memcheck, a memory error detector
==11404== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11404== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11404== Command: ./CH02_HelloTriangle
==11404== 
==11404== Jump to the invalid address stated on the next line
==11404==    at 0x0: ???
==11404==    by 0x6F9271A: ??? (in /usr/lib/fglrx/dri/fglrx_dri.so)
==11404==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==11404== 
==11404== 
==11404== Process terminating with default action of signal 11 (SIGSEGV)
==11404== …
Run Code Online (Sandbox Code Playgroud)

valgrind gpu ati opengl-es-2.0 amd-processor

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

平行减少

我已经阅读了Mark Harris的文章"优化并行缩减CUDA",我发现它非常有用,但我仍然无法理解1或2个概念.它写在第18页:

//First add during load

// each thread loads one element from global to shared mem

unsigned int tid = threadIdx.x;

unsigned int i = blockIdx.x*blockDim.x + threadIdx.x;

sdata[tid] = g_idata[i];
__syncthreads();
Run Code Online (Sandbox Code Playgroud)

优化代码:有2个负载和第一个减少的添加:

// perform first level of reduction,

// reading from global memory, writing to shared memory
unsigned int tid = threadIdx.x;                                    ...1

unsigned int i = blockIdx.x*(blockDim.x*2) + threadIdx.x;          ...2

sdata[tid] = g_idata[i] + g_idata[i+blockDim.x];                   ...3

__syncthreads();                                                   ...4
Run Code Online (Sandbox Code Playgroud)

我无法理解第2行; 如果我有256个元素,如果我选择128作为我的块大小,那么为什么我将它乘以2?请解释如何确定块大小?

c c++ parallel-processing cuda gpu

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

libcudart.so 的路径是什么?

我正在尝试安装 Tensorflow GPU 版本,但我被困在这里。我已经通过运行安装了 nvidia-cuda-toolkit

 sudo apt install nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)

它下载得很好。但是我找不到这个 libcudart.so

Please specify which gcc nvcc should use as the host compiler. [Default is /usr/bin/gcc]: /usr/bin/gcc
Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]: 
Please specify the location where CUDA  toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /usr/local/cuda
Invalid path to CUDA  toolkit. /usr/local/cuda/lib64/libcudart.so cannot be found
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

ubuntu cuda gpu nvidia tensorflow

9
推荐指数
2
解决办法
9493
查看次数

加载VGG16时资源耗尽OOM

如果这个问题看起来很基本,我会事先道歉,但我是Tensorflow的新手并感谢任何帮助.

我发现我必须经常重新启动计算机才能从keras.applications加载VGG16等模型.我有一台相当高端的机器,配备4个GeForce GTX 1080 Ti GPU和Intel®Core™i7-6850K CPU @ 3.60GHz×12,用于我的CPU,仅用于Tensorflow(通过Keras).

一旦我重新启动,我将能够成功加载模型(例如VGG16)并训练大型训练数据集.但是,如果我让我的计算机闲置一段时间并重新运行相同的程序,我将获得资源耗尽消息(OOM),可以通过重新启动我的计算机来修复.每隔几个小时不停地重新启动计算机是非常令人沮丧的.有谁知道发生了什么以及如何解决这个问题?

gpu neural-network keras tensorflow

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

nvidia-smi 中的 G 和 C 类型是什么意思?

我有一个未解决的问题,因为我认为我的 cuda 代码没有在我的 GPU 中运行(这里)。我认为这是因为当我使用 nvidia-smi 时,我在我的进程的类型字段中得到了一个 C,但是我看到当我运行我的代码时我的 GPU-Util 增长,所以现在我不知道它是否在 cpu 中运行或GPU。有人可以向我解释一下 C 或 G 类型是什么意思吗?我发现了这一点:“计算进程显示为“C”,图形进程显示为“G”,同时具有计算和图形上下文的进程显示为“C+G”。但我不明白这是否意味着C代表CPU和G代表GPU,因为我不知道“计算过程”和“图形过程”是什么,或者它们之间有什么区别。

cpu cuda gpu process nvidia

9
推荐指数
2
解决办法
5499
查看次数

PyTorch 中的“运行时错误:CUDA 错误:设备端断言触发”是什么意思?

我看过很多针对特定案例特定问题的特定帖子,但没有基本的动机解释。这是什么错误:

RuntimeError: CUDA error: device-side assert triggered
Run Code Online (Sandbox Code Playgroud)

意思?具体来说,正在触发的断言是什么,为什么断言在那里,我们如何向后工作以调试问题?

按原样,此错误消息在诊断任何问题时几乎无用,因为它似乎是在说“某处触及 GPU 的某些代码”有问题。Cuda 的文档在这方面似乎也没有帮助,尽管我可能是错的。 https://docs.nvidia.com/cuda/cuda-gdb/index.html

python gpu pytorch

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

可以在一个 GPU 上并行运行多个 tensorflow 推理吗?

我正在尝试在一个 NVIDIA Tesla V100 GPU 上运行 Tensorflow 作为服务。作为服务器,我的程序需要同时接受多个请求。所以,我的问题如下:

  1. 当多个请求同时到达时,假设我们没有使用批处理,这些请求是在 GPU 上顺序运行还是并行运行?我了解独立进程具有单独的 CUDA 上下文,它们在 GPU 上按顺序运行。但这些请求实际上是同一进程中的不同线程,应该共享一个 CUDA 上下文。所以根据文档,GPU 可以同时运行多个内核。如果这是真的,是否意味着如果我有大量请求同时到达,GPU 利用率可以达到 100%?但这在我的实验中从未发生过。

  2. 在不同线程中运行一个会话与在不同线程中运行不同会话有什么区别?哪个是实现 Tensorflow 服务器的正确方法?Tensorflow Serving 使用哪一种?

任何建议将被认真考虑。谢谢!

multithreading gpu tensorflow tensorflow-serving

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

Anaconda 与 Cuda 9.0 的集成显示不兼容的包错误

我正在尝试在 Windows 10 中 使用NVIDIA-SMI: 445.75安装CUDA 9.0

我的Cuda 9.0安装成功,如图Command-prompt

*(DL) C:\Users\User>nvcc --version    
nvcc: NVIDIA (R) Cuda compiler driver    
Copyright (c) 2005-2017 NVIDIA Corporation    
Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017    
**Cuda compilation tools, release **9.0**, V9.0.176***
Run Code Online (Sandbox Code Playgroud)

(1) 我下载了cudnn-9.0-windows10-x64-v7.zip,解压了它,然后将它移到了安装 Cuda 时创建的文件夹中。

(2) 在Anacondaterminal提示下, 我输入.
conda install pytorch=1.1.0 torchvision=0.3.0 cudatoolkit=9.0 –c pytorch

但是,Anaconda 提示给出以下错误

**Error messages**    
*Collecting package metadata (current_repodata.json): done    
Solving environment: failed with initial frozen solve. Retrying with flexible solve.    
Solving …
Run Code Online (Sandbox Code Playgroud)

python gpu anaconda tensorflow pytorch

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

CUDA GPU 处理:TypeError: compile_kernel() 得到一个意外的关键字参数“boundscheck”

今天我开始使用 CUDA 和 GPU 处理。我找到了这个教程:https : //www.geeksforgeeks.org/running-python-script-on-gpu/

不幸的是,我第一次尝试运行 GPU 代码失败了:

from numba import jit, cuda 
import numpy as np 
# to measure exec time 
from timeit import default_timer as timer 

# normal function to run on cpu 
def func(a):                                 
    for i in range(10000000): 
        a[i]+= 1    

# function optimized to run on gpu 
@jit(target ="cuda")                         
def func2(a): 
    for i in range(10000000): 
        a[i]+= 1
if __name__=="__main__": 
    n = 10000000                            
    a = np.ones(n, dtype = np.float64) 
    b = np.ones(n, dtype = np.float32) …
Run Code Online (Sandbox Code Playgroud)

python cuda gpu numba

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