标签: gpu

是否有可能在GPU中实现霍夫曼解码?

我们有一个用霍夫曼编码编码的数据库.这里的目的是在GPU上复制它与相关的解码器; 然后在GPU上解码数据库,并在这个解码的数据库上执行操作,而无需将其复制回CPU上.

我远远不是霍夫曼专家,但我知道的少数人表明它似乎是一种基本上基于控制结构的算法.使用基本算法,恐怕会有很多序列化操作.

我的两个问题是:

  • 你知道是否存在任何有效的霍夫曼编码GPU版本
  • 如果没有,你认为存在一个适用于GPU的霍夫曼算法(即控制结构较少).或许您知道(并且您可以提供参考)有效的霍夫曼解码在GPU上无法有效.

我看到其他约束,但它们并不重要: - GPU处理树的效率不高:二叉树可以存储在经典数组中 - 工作量很难平衡:我们会看到

algorithm gpu huffman-code

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

体素......老实说,我需要知道从哪里开始

好吧,我知道体素基本上只是一个像素的体积版本.

在那之后,我不知道甚至要寻找什么.

谷歌搜索没有显示任何教程,我无法在任何地方找到一本书,我甚至找不到任何与体素真正的基本概念有关的东西.

我对C++库有很多了解,并且掌握了OpenGL的基础知识.

有人能指出我正确的方向吗?

编辑:我想我只是对如何实现它们感到困惑?对不起是一种痛苦,只是因为我无法找到任何我可以轻易关联的内容......我想我想象的是一个体素与一个可以实际存储数据的向量相关.

体素可以表示为任何 3D形状?例如,假设我希望形状为圆柱形.这是可能的,还是他们必须像立方体一样链接?

c++ opengl gpu voxels raycasting

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

如何处理GPU的内存限制,以便在GPU上进行高分辨率图像处理?

我正在制作相机应用程序,这个应用程序将为用户提供一些过滤器.目前我的代码是在NDK上,它工作正常,但我想让它更快一点.看来GPU和opengl Es 2.0还有很长的路要走.我唯一担心的是GPU的内存限制.由于现代相机需要5-10 mp的图像,而GPU的内存限制远远低于此.我想知道是否有办法解决这个限制.在我看来唯一合乎逻辑的选择是将图像分成较小的部分,然后在GPU上处理它们,最后将它们分配给最终图像.我的问题是,如果这种方法仍然有利于性能,还有任何其他选项可以在移动GPU上处理高分辨率图像.

编辑:我需要澄清一下,我想使用GPU进行图像处理,所以我的目标不是将结果渲染到屏幕上.我将它渲染到另一个纹理并将其保存到磁盘.

android gpu image-processing opengl-es-2.0

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

在Mingw Nvidia SDK上编译OpenCL

是否可以使用Mingw和Nvidia SDK编译OpenCL?

我知道它没有得到官方支持,但这没有意义.库不是作为静态链接库提供的吗?我的意思是一旦用可能的任何编译器编译,并成功链接,什么应该是问题?

我设法编译并成功将我的代码链接到Nvidia SDK提供的OpenCL库,但是可执行文件抛出了Segmentation Fault,clGetPlatformIDs这是我的代码中的第一个OpenCL调用.

这是我的编译命令

x86_64-w64-mingw32-g++ -std=c++11 File.cpp \
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64" \
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" \
-gcoff -lOpenCL -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 \
-lshell32 -lole32 -loleaut32 \
-luuid -lodbc32 -lodbccp32 -luser32 -lgdi32 -lmingwex -m64 \
-DWIN32 -D_DEBUG -D_CONSOLE
Run Code Online (Sandbox Code Playgroud)

请注意,这些库来自示例OpenCL代码的.sln文件.

我尝试了这些库的各种组合,似乎没有任何工作.

还有一种方法可以使用Mingw进行编译并使用其他东西进行链接吗?我不确定其他东西是什么.

windows gpu mingw nvidia opencl

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

Gensim库是否支持GPU加速?

使用Gensim提供的Word2vec和Doc2vec方法,他们有一个使用BLAS,ATLAS等加速的分布式版本(详情请参见此处).但是,它支持GPU模式吗?如果使用Gensim,是否可以让GPU工作?

optimization gpu gensim deeplearning4j

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

如何在 Google Colab 上安装 nvidia apex

我所做的是按照官方 github 站点上的说明进行操作

!git clone https://github.com/NVIDIA/apex
!cd apex
!pip install -v --no-cache-dir ./
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

ERROR: Directory './' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
Exception information:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 178, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/install.py", line 326, in run
    self.name, wheel_cache
  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py", line 268, in populate_requirement_set
    wheel_cache=wheel_cache
  File "/usr/local/lib/python3.6/dist-packages/pip/_internal/req/constructors.py", line 248, in install_req_from_line
    "nor 'pyproject.toml' found." % name
pip._internal.exceptions.InstallationError: Directory './' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
Run Code Online (Sandbox Code Playgroud)

python gpu nvidia pytorch google-colaboratory

12
推荐指数
4
解决办法
7981
查看次数

如何方便的获取pytorch模块的设备类型?

我必须在使用不同设备的不同类型的 pytorch 模型上堆叠一些我自己的层。

例如,Acuda模型,Bcpu模型(但在获得设备类型之前我不知道)。那么新模型分别是CD,其中

class NewModule(torch.nn.Module):
    def __init__(self, base):
        super(NewModule, self).__init__()
        self.base = base
        self.extra = my_layer() # e.g. torch.nn.Linear()

    def forward(self,x):
        y = self.base(x)
        z = self.extra(y)
        return z

...

C = NewModule(A) # cuda
D = NewModule(B) # cpu
Run Code Online (Sandbox Code Playgroud)

但是我必须继续前进base,并extra相同的设备,即baseextra的C是CUDA模型和D的是CPU的型号。所以我试过这个__inin__

def __init__(self, base):
    super(NewModule, self).__init__()
    self.base = base
    self.extra = …
Run Code Online (Sandbox Code Playgroud)

python gpu pytorch

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

将 nvidia 运行时添加到 docker 运行时

我正在GCP使用特斯拉 GPU运行虚拟机。并尝试部署PyTorch基于 的应用程序以使用 GPU 对其进行加速。

我想让 docker 使用这个 GPU,可以从容器访问它。

我设法在主机上安装了所有驱动程序,并且该应用程序在那里运行良好,但是当我尝试在 docker(基于 nvidia/cuda 容器)中运行它时,pytorch 失败了:

File "/usr/local/lib/python3.6/dist-packages/torch/cuda/__init__.py", line 82, 
in _check_driver http://www.nvidia.com/Download/index.aspx""")
AssertionError: 
Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from
Run Code Online (Sandbox Code Playgroud)

要获取有关容器可见的 nvidia 驱动程序的一些信息,我运行以下命令:

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
但它抱怨: docker: Error response from daemon: Unknown runtime specified nvidia.

在主机上nvidia-smi输出如下所示:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+ …
Run Code Online (Sandbox Code Playgroud)

cuda gpu docker nvidia-docker

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

除了 12 小时后的会话超时之外,google colab 是否有任何限制?

限制之一是我们每次只能连续获得 12 小时。GPU和TPU的使用有限制吗?

session gpu tensorflow google-colaboratory tpu

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

Pytorch:W ParallelNative.cpp:206

我正在尝试按照此处的教程在我的图像集上使用预先训练的模板:https : //pytorch.org/tutorials/beginner/finetuning_torchvision_models_tutorial.html

只有当我运行我的代码并且控制台锁定时,我总是得到这个“错误”:

[W ParallelNative.cpp:206] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)

预先感谢您的帮助,

parallel-processing cpu gpu pytorch cnn

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