标签: gpu

使用Delphi利用GPGPU技术?

GPGPU是在视频卡上使用并行处理器以大幅提高性能的原则.

有没有人对使用OpenCL或CUDA在Delphi中使用GPGPU有任何想法?CUDA只是NVidia,但他们也采用了OpenCL"标准".

我从Google搜索中找到了一些Delphi样本,但它们要么崩溃,要么不编译/运行.

最终的指导样本将是:

  1. 从这里下载并安装OpenCL DLL.
  2. 从这里下载OpenCL SDK.
  3. 从这里下载此示例Delphi项目.
  4. 打开并编译Delphi项目.如果一切按计划进行,它将做"无论它应该做什么"

在那个阶段,我可以开始研究OpenCL SDK并编写/编译DLL来从任何Delphi应用程序调用.

这种东西真的开始起飞了.Embarcadero在这个阶段不需要做任何事情(除非他们想要),但是如果有一个Delphi的教程和样本可用,那就太棒了.许多样本可用于其他语言,但我们还需要一个简单的Delphi示例来说明将Delphi用于GPGPU应用程序是多么容易.

delphi gpu gpgpu opencl

15
推荐指数
2
解决办法
7815
查看次数

在OpenGL中处理FBO的最佳方法是什么?

我很想知道很长一段时间处理OpenGL FrameBuffer对象(FBO)的最佳方法.切换FBO可能成本很高,但也定义了新的附件.

你怎么快速做到的?

我在这三个之间犹豫不决:

  • 1 FBO用于所有内容,更改附件但不要在FBO之间切换

  • 1渲染路径中每个渲染目标(大小+格式)的FBO.这意味着我将为相似的渲染目标重用相同的FBO.但这样一种自定义模糊将花费4+ FBO.

  • 每个渲染目标1个FBO,仅设置附件一次,然后在FBO之间切换

另外,我应该最小化FBO开关的数量(比如我最小化纹理绑定的数量)?

opengl fbo rendering gpu

15
推荐指数
1
解决办法
6903
查看次数

如何找到CUDA的epsilon,min和max常量?

我在寻找CUDA设备的epsilon值(两个数字之间的最小步长),min(最小幅度)和max(最大幅度).

IE是<float.h>gcc编译器中定义的FLT_EPSILON(DBL_EPSILON),FLT_MIN(DBL_MIN)和FLT_MAX(DBL_MAX)的等价物.

某些CUDA包含文件中是否有常量?任何手册解释它们?编写内核来计算它们的任何方法?

提前致谢.

floating-point double cuda gpu constants

15
推荐指数
1
解决办法
7945
查看次数

错误代码(-11)::在OpenCL中获取错误"cl_build_program_failure"的所有可能原因是什么?

我在linux上使用ATI RV770显卡,OpenCl 1.0和ati-stream-sdk-v2.3-lnx64.

在运行我的主机代码时,包括以下两个部分来构建内核程序,我得到错误代码(-11)即cl_build_program_failure.这是否意味着编译了内核程序,如果没有,那么它是如何编译和调试的?

const char* KernelPath = "abc_kernel.cl";   //kernel program is in separate file but in same directory of host code..
Run Code Online (Sandbox Code Playgroud)

/ *从内核源代码创建程序对象 ******* /

char* sProgramSource = readKernelSource(KernelPath);
size_t sourceSize =  strlen(sProgramSource) ;
program = clCreateProgramWithSource(context, 1,(const char **) &sProgramSource,&sourceSize, &err);
checkStatus("error while creating program",err);
Run Code Online (Sandbox Code Playgroud)

/ *构建(编译和链接)程序******* /

char* options = (char* )malloc(10*sizeof(char));
strcpy(options, "-g");
err = clBuildProgram(program, num_devices, devices_id, options, NULL, NULL);
checkStatus("Build Program Failed", …
Run Code Online (Sandbox Code Playgroud)

debugging gpu opencl

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

有没有办法获取GPU信息?

我知道如何在内部获取CPU信息/proc/,但有没有办法获取GPU信息?像CPU这样的东西?

android gpu

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

CUDA立方体地图纹理

如何在CUDA中处理OpenGL立方体贴图纹理?

当想要在CUDA内核中使用OpenGL纹理时,要做的一件事就是从注册图像和映射资源中检索CUDA数组,在这种情况下是纹理.在驱动程序API中,它通过cuGraphicsSubResourceGetMappedArray调用完成,在2D纹理的情况下,这不是问题.但是在谈到上述立方体贴图时,此函数的第三个参数需要面部枚举(如CU_CUBEMAP_FACE_POSITIVE_X).因此出现了一些问题 - 当一个人通过这样的枚举时,返回的纹理数组将仅包含该特定面的数据,对吧?然后如何使用立方体纹理作为一个整体,执行立方体映射,同样:

color = texCube(cubeMap, x, y, z);
Run Code Online (Sandbox Code Playgroud)

或者在CUDA内核中不可能这样做,并且需要在用户代码中使用2D纹理和适当的计算和采样?

opengl cuda gpu

15
推荐指数
1
解决办法
1245
查看次数

是否可以直接从gpu访问硬盘?

是否可以直接从GPU(CUDA/openCL)访问硬盘/闪存盘并直接从GPU的内存加载/存储内容?

我试图避免将内容从磁盘复制到内存,然后将其复制到GPU的内存中.

我读到了有关Nvidia GPUDirect但不确定它是否符合我上面解释的内容.它谈到远程GPU内存和磁盘,但我的情况下的磁盘是GPU的本地磁盘.

基本思想是加载内容(类似于dma) - >执行一些操作 - >将内容存储回磁盘(再次以dma方式).

我试图尽可能少地涉及CPU和RAM.

请随时提供有关设计的任何建议.

parallel-processing cuda gpu opencl

15
推荐指数
2
解决办法
3136
查看次数

Tensorflow Deep MNIST:资源耗尽:OOM在分配形状的张量时[10000,32,28,28]

这是我正在运行的示例MNIST代码:

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

import tensorflow as tf
sess = tf.InteractiveSession()

x = tf.placeholder(tf.float32, shape=[None, 784])
y_ = tf.placeholder(tf.float32, shape=[None, 10])

W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x,W) + b)

def weight_variable(shape):
  initial = tf.truncated_normal(shape, stddev=0.1)
  return tf.Variable(initial)

def bias_variable(shape):
  initial = tf.constant(0.1, shape=shape)
  return tf.Variable(initial)


def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
  return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
                        strides=[1, 2, 2, 1], padding='SAME')


W_conv1 = weight_variable([5, …
Run Code Online (Sandbox Code Playgroud)

python gpu mnist tensorflow

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

pytorch 从 gpu 中删除模型

我想在基于 Pytorch 的项目中进行交叉验证。而且我也没有找到pytorch提供的删除当前模型和清空GPU内存的方法。你能告诉我该怎么做吗?

gpu pytorch allennlp

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

Google Colab 中的 Julia

我正在尝试使用 Google Colab 设置 Julia。已遵循https://discourse.julialang.org/t/julia-on-google-colab-free-gpu-accelerated-shareable-notebooks/15319 中的安装说明。尽管如此,我还是无法启动 Julia。

我正在尝试将 Julia 与 Google Colab 一起使用。我按照以下步骤操作:

  1. 安装 CUDA
!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
!apt update -q
!apt install cuda gcc-6 g++-6 -y -q
!ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
!ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++
Run Code Online (Sandbox Code Playgroud)
  1. 安装 Julia 1.2.0
!curl -sSL "https://julialang-s3.julialang.org/bin/linux/x64/1.2/julia-1.2.0-linux-x86_64.tar.gz" -o julia.tar.gz
!tar -xzf julia.tar.gz -C /usr --strip-components 1
!rm -rf julia.tar.gz*
!julia -e 'using Pkg; pkg"add IJulia; add CuArrays; add Flux; precompile"'
Run Code Online (Sandbox Code Playgroud)

以上两个步骤运行得很好。我无法启动 Julia 会话。我试过:


!julia

Run Code Online (Sandbox Code Playgroud)

这样,Julia 启动屏幕将继续显示而没有命令行。

gpu julia google-colaboratory

15
推荐指数
2
解决办法
7184
查看次数