小编tal*_*ies的帖子

CUDA __threadfence()

我已经浏览了很多论坛帖子和NVIDIA文档,但我无法理解它是什么__threadfence()以及如何使用它.有人可以解释一下内在的目的是什么吗?

cuda

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

CUDA 错误:调用 `cublasCreate(handle)` 时出现 CUBLAS_STATUS_ALLOC_FAILED

在 colab 中运行 pytorch 深度学习模型时出现以下错误

/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py in linear(input, weight, bias)
   1370         ret = torch.addmm(bias, input, weight.t())
   1371     else:
-> 1372         output = input.matmul(weight.t())
   1373         if bias is not None:
   1374             output += bias

RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`
Run Code Online (Sandbox Code Playgroud)

我什至将批量大小从 128 减少到 64,即减少到一半,但仍然出现此错误。早些时候,我以 128 的批量大小运行了相同的代码,但没有收到任何类似的错误。

nlp pytorch bert-language-model

18
推荐指数
5
解决办法
4万
查看次数

无法找到 zlibwapi.dll。请确保它在您的库路径中

我正在开发一个对象检测项目,并希望使用我的 GPU 处理该项目。我已经完成了NVIDIA 设置教程,一切正常。我的对象检测代码最初适用于 CPU,但是当我添加这两行代码时:

net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
Run Code Online (Sandbox Code Playgroud)

显示的输出:

无法找到 zlibwapi.dll。请确保它在您的库路径中!

我已经从cuDNN 网站下载了 zlibwapi.dll zip 文件,解压缩并将整个文件夹添加到我的环境变量路径中。该文件夹名为“zlib123dllx64”,包含“dll_x64”文件夹和“static_x64”文件夹。“zlibwapi.dll”位于“dll_x64”文件夹内。我已在用户和系统路径变量中添加了“zlib123dllx64”文件夹,但它似乎没有解决任何问题。我怎样才能修复这个错误并使GPU与代码一起工作?

我的环境设置:

  • Windows 10
  • 视觉工作室社区 2019
  • OpenCV Python yolov3

opencv gpu zlib

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

将memoryview传递给C函数

我有一个C函数声明如下:

void getIndexOfState(long *p, long C, long G, long B, long *state);
Run Code Online (Sandbox Code Playgroud)

现在我的cython包装器代码使用来自numpy数组的缓冲区语法:

cpdef int getIndexOfState(self, np.ndarray[np.int_t, ndim=1, mode="c"] s):
    cdef long out
    getIndexOfState(&out, self.C, self.G, self.B, <long*> s.data)
    return out
Run Code Online (Sandbox Code Playgroud)

我想使用新的memoryview语法,我的问题是,在使用memoryview时如何将指针传递给数据?

我试过了:

cpdef int getIndexOfState(self, long[:] s):
    cdef long out
    getIndexOfState(&out, self.C, self.G, self.B, s)
    return out
Run Code Online (Sandbox Code Playgroud)

当我试图编译模块时,它引发了"无法将类型'long [:]'分配给'long*'"错误.在调用C函数之前,有没有办法传递该指针而不将内存视图强制回到numpy数组?

python numpy cython

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

Windows上的TensorFlow:"无法打开CUDA库cudnn64_5.dll"

Tensorflow刚刚发布了Windows支持.我安装了gpu版本和CUDA 8.0以及python 3.5.但是,在导入tensorflow后,我收到以下错误:

>>> import tensorflow
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cudnn64_5.dll
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:3459] Unable to load cuDNN DSO
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library curand64_80.dll locally
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?谢谢!

windows tensorflow cudnn

17
推荐指数
1
解决办法
4万
查看次数

Tensorflow与CUBLAS_STATUS_ALLOC_FAILED崩溃

我正在使用一个简单的MINST神经网络程序在Windows 10上运行tensorflow-gpu.当它试图运行时,它遇到CUBLAS_STATUS_ALLOC_FAILED错误.谷歌搜索没有发现任何东西.

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 970
major: 5 minor: 2 memoryClockRate (GHz) 1.253
pciBusID 0000:0f:00.0
Total memory: 4.00GiB
Free memory: 3.31GiB
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:0f:00.0)
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

cublas tensorflow

17
推荐指数
4
解决办法
1万
查看次数

GUnicorn + CUDA:无法在分叉子进程中重新初始化 CUDA

我正在使用 torch、gunicorn 和 Flask 创建一个应该使用 CUDA 的推理服务。为了减少资源需求,我使用了gunicorn的预加载选项,因此模型在工作进程之间共享。然而,这会导致 CUDA 出现问题。下面的代码片段显示了一个最小的重现示例:

from flask import Flask, request
import torch

app = Flask('dummy')

model = torch.rand(500)
model = model.to('cuda:0')


@app.route('/', methods=['POST'])
def f():
    data = request.get_json()
    x = torch.rand((data['number'], 500))
    x = x.to('cuda:0')
    res = x * model
    return {
        "result": res.sum().item()
    }
Run Code Online (Sandbox Code Playgroud)

使用 启动服务器CUDA_VISIBLE_DEVICES=1 gunicorn -w 3 -b $HOST_IP:8080 --preload run_server:app可以让服务成功启动。然而,一旦执行第一个请求(curl -X POST -d '{"number": 1}'),工作人员就会抛出以下错误:

[2022-06-28 09:42:00,378] ERROR in app: Exception on / [POST]
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python gunicorn python-multiprocessing pytorch

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

TensorFlow:如何记录GPU内存(VRAM)利用率?

TensorFlow总是(预)在我的显卡上分配所有空闲内存(VRAM),这是好的,因为我希望我的模拟在我的工作站上尽可能快地运行.

但是,我想记录TensorFlow真正使用的内存(总之).另外,如果我还可以记录单个张量器使用的内存量,那将是非常好的.

此信息对于衡量和比较不同ML/AI架构所需的内存大小非常重要.

有小费吗?

python vram tensorflow cudnn

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

错误:分配具有形状的张量时出现 OOM

在使用 Apache JMeter 进行性能测试期间,我的初始模型遇到了问题。

错误:分配形状为 [800,1280,3] 的张量并在 /job:localhost/replica:0/task:0/device:GPU:0 上通过分配器 GPU_0_bfc [[Node: Cast = CastDstT=DT_FLOAT, SrcT=DT_UINT8, _device="/job:localhost/replica:0/task:0/device:GPU:0"]] 提示:如果您想在 OOM 发生时查看已分配张量的列表,请将 report_tensor_allocations_upon_oom 添加到 RunOptions for current分配信息。

gpu python-3.x gunicorn tensorflow

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

使用OpenCV库编译代码时链接错误

我正在尝试使用以下命令安装Opencv后编译示例程序:

g++ hello-world.cpp -o hello-world -I /usr/local/include/opencv -L /usr/local/lib -lm -lcv -lhighgui -lcvaux
Run Code Online (Sandbox Code Playgroud)

但是,我收到的错误是:

/usr/bin/ld: cannot find -lcv  
/usr/bin/ld: cannot find -lhighgui  
/uer/bin/ld: cannot find -lcvaux
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我需要做些什么来纠正这个?我通过下载最新的稳定版本并使用cmake创建构建文件来安装opencv,然后从命令行运行make install.

有什么我可能错过的吗?

c++ opencv compilation

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