任何有使用vast.ai进行云计算的经验的人都知道,当租用多个GPU时,您需要做一些设置来利用额外的GPU吗?
因为当租用6或8个GPU而不是仅仅一个GPU时,我不会注意到速度上的任何差异。我刚开始使用vast.ai进行云计算。
我使用的是默认的码头:用于深度学习框架TensorFlow ()的正式对接图像。
成功加载了tensorflow/tensorflow:夜-GPU-py3
然后再安装keras:
pip install keras
我还使用此方法检查了可用的GPU,所有GPU都被正确检测到:
from keras import backend as K
K.tensorflow_b
在下面的代码中,G2 = G .* G和G2 = G * G有什么区别?为什么我得到的第一个代码GPU负载100%,第二个我得到GPU负载和内存控制器负载传感器,两者都在100%上的gpu?
X = rand(5000, 'double');
G = gpuArray(X);
classUnderlying(G) % Returns 'single'
for m = 1:5000
G2 = G .* G .* G .* G; % Performed on GPU
end
whos G2
我有以下全局内核:
__global__ void pdegpu(PDE_ParabolicD1_Num_GPU **pdes)
{
PDE_ParabolicD1_Num_GPU *loc;
loc = new PDE_ParabolicD1_Num_GPU();
loc->Setup();
delete loc;
//above code was just an example to show that new and delete work fine
*pdes = new PDE_ParabolicD1_Num_GPU()
我需要计算GPU运行时代码,以及总运行代码(主机和设备)。在我的代码中,我有两个gpu内核在运行,在主机for循环之间复制数据,下面的示例可以显示我的代码是什么样子的。
cuda event start
//FIRST kernel code call <<...>>
// cuda memory copy result back from device to host
CudadeviceSyncronize()
// copy host data to host array (CPU funtion loop)
// cuda memory copy fr
我已经写了一个简单的Halide代码来计算从0到n的数字的平方,然而它在GPU上比在CPU上多花22倍的时间。
#include"stdafx.h"
#include "Halide.h"
#include <stdio.h>
using namespace Halide;
#include "HalideRuntimeOpenCL.h"
#define GPU_TILE 16
#define COMPUTE_SIZE 1024
Target find_gpu_target();
// Define some Vars to u