Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - CUDA - Пример13 июня 2011Оглавление: 1. CUDA 2. Программная архитектура 3. Оборудование 4. Ограничения 5. Особенности и спецификации различных версий 6. Пример 7. CUDA как предмет в вузах Этот пример кода на C загрузки текстур из изображения в массив на GPU:
cudaArray* cu_array;
texture<float, 2> tex;
// Allocate array
cudaMalloc, width, height );
// Copy image data to array
cudaMemcpy;
// Bind the array to the texture
cudaBindTexture;
// Run kernel
dim3 blockDim;
dim3 gridDim;
kernel<<< gridDim, blockDim, 0 >>>;
cudaUnbindTexture;
__global__ void kernel
{
unsigned int x = blockIdx.x*blockDim.x + threadIdx.x;
unsigned int y = blockIdx.y*blockDim.y + threadIdx.y;
float c = texfetch;
odata = c;
}
Пример программы на языке Python, перемножающий матрицы средствами GPU. Взаимодействие идёт с использованием PyCUDA
import pycuda.driver as drv
import numpy
drv.init
dev = drv.Device
ctx = dev.make_context
mod = drv.SourceModule("""
__global__ void multiply_them
{
const int i = threadIdx.x;
dest = a * b;
}
""")
multiply_them = mod.get_function
a = numpy.random.randn.astype
b = numpy.random.randn.astype
dest = numpy.zeros_like
multiply_them(
drv.Out, drv.In, drv.In,
block=)
print dest-a*b
Просмотров: 8100
|