CUDA SDK , NVIDIA, C. CUDA , .
, , - , , - , , , , .
, . - , TITANIUM, " " - , .
CUDA SDK 15 2007 . CUDA API . , CUDA SDK - nvcc Nvidia. nvcc Open64 host- (, ) device- ( ) ( .cu) , , NetBeans.
grid- , SIMD . NVIDIA- API. , OpenGL Microsoft Direct3D v9. Linux, Mac OS X, Windows.
22 2010 nVidia CUDA Toolkit 3.0, OpenCL.
, CUDA SDK, G8x, 32- , CUDA SDK API (CUDA double , 32- ). GT200 64- ( SFU), , 32- (- SFU 2 , 8). , . , ( nVidia PhysX). : , .
API, CUDA :
, , ( CUDA Toolkit 3.1 )
CUDA NVidia
Nvidia CUDA Nvidia: CUDA-Enabled GPU Products (.).
, CUDA :
CUDA |
(GPU) |
1.0 |
|
1.1 |
G86, G84, G98, G96, G96b, G94, G94b, G92, G92b |
1.2 |
GT218, GT216, GT215 |
1.3 |
GT200, GT200b |
2.0 |
GF100, GF110 |
2.1 |
GF108, GF106, GF104, GF114, GF116 |
GeForce GTX 590, GTX 580, GTX 570, GTX 560 Ti, GTX 560, GTX 550 Ti, GTX 520, GTX 480, GTX 470, GTX 465, GTX 460, GTS 450, GTX 295, GTX 285, GTX 280, GTX 275, GTX 260, GTS 250, GT 240, GT 220, GT 210, GTS 150, GT 130, GT 120, G100, 9800 GX2, 9800 GTX+, 9800 GTX, 9800 GT, 9600 GSO, 9600 GT, 9500 GT, 9400 GT, 9400 mGPU, 9300 mGPU, 8800 GTS 512, 8800 GT, 8600 GTS, 8600 GT, 8500 GT, 8400 GS
GeForce GTX 580M, GTX 570M, GTX 560M, GT 555M, GT 540M, GT 525M, GT 520M, GTX 485M, GTX 480M, GTX 470M, GTX 460M, GT 445M, GT 435M, GT 425M, GT 420M, GT 415M, GTX 285M, GTX 280M, GTX 260M, GTS 360M, GTS 350M, GTS 160M, GTS 150M, GT 335M, GT 330M, GT 325M, GT 240M, GT 130M, G110M, G105M, 310M, 305M, 9800M GTX, 9800M GT, 9800M GTS, 9700M GTS, 9700M GT, 9650M GS, 9600M GT, 9600M GS, 9500M GS, 9500M G, 9300M GS, 9300M G, 9200M GS, 9100M G, 8800M GTS, 8700M GT, 8600M GT, 8600M GS, 8400M GT, 8400M GS
Tesla C2050/C2070, Tesla M2050/M2070/M2090, Tesla S2050, Tesla S1070, Tesla M1060, Tesla C1060, Tesla C870, Tesla D870, Tesla S870
Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 600, Quadro FX 5800, Quadro FX 5600, Quadro FX 4800, Quadro FX 4700 X2, Quadro FX 4600, Quadro FX 3700, Quadro FX 1700, Quadro FX 570, Quadro FX 470, Quadro FX 380 Low Profile, Quadro FX 370, Quadro FX 370 Low Profile, Quadro CX, Quadro NVS 450, Quadro NVS 420, Quadro NVS 290, Quadro Plex 2100 D4, Quadro Plex 2200 D2, Quadro Plex 2100 S4, Quadro Plex 1000 Model IV
Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M, Quadro FX 3800M, Quadro FX 3700M, Quadro FX 3600M, Quadro FX 2800M, Quadro FX 2700M, Quadro FX 1800M, Quadro FX 1700M, Quadro FX 880M, Quadro FX 770M, Quadro FX 570M, Quadro FX 380M, Quadro FX 370M, Quadro FX 360M, Quadro NVS 5100M, Quadro NVS 3100M, Quadro NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M
Tesla C1060, Tesla S1070, Tesla C2050/C2070, Tesla M2050/M2070, Tesla S2050 GPU .
C GPU:
cudaArray* cu_array; texture<float, 2> tex; // Allocate array cudaMalloc( &cu_array, cudaCreateChannelDesc<float>(), width, height ); // Copy image data to array cudaMemcpy( cu_array, image, width*height, cudaMemcpyHostToDevice); // Bind the array to the texture cudaBindTexture( tex, cu_array); // Run kernel dim3 blockDim(16, 16, 1); dim3 gridDim(width / blockDim.x, height / blockDim.y, 1); kernel<<< gridDim, blockDim, 0 >>>(d_odata, width, height); cudaUnbindTexture(tex); __global__ void kernel(float* odata, int height, int width) { unsigned int x = blockIdx.x*blockDim.x + threadIdx.x; unsigned int y = blockIdx.y*blockDim.y + threadIdx.y; float c = texfetch(tex, x, y); odata[y*width+x] = c; }
Python, GPU. PyCUDA
import pycuda.driver as drv import numpy drv.init() dev = drv.Device(0) ctx = dev.make_context() mod = drv.SourceModule(""" __global__ void multiply_them(float *dest, float *a, float *b) { const int i = threadIdx.x; dest[i] = a[i] * b[i]; } """) multiply_them = mod.get_function("multiply_them") a = numpy.random.randn(400).astype(numpy.float32) b = numpy.random.randn(400).astype(numpy.float32) dest = numpy.zeros_like(a) multiply_them( drv.Out(dest), drv.In(a), drv.In(b), block=(400,1,1)) print dest-a*b
2009 , CUDA 269 . CUDA - , . .. , , , -, , , , , , , , , . . . , . , ., , , ( ). , 2009 - , , GPU.
CUDA .
CUDA Zone (.) CUDA
CUDA GPU Computing (.) -, CUDA
. NVIDIA CUDA . 1. iXBT.com.
. NVIDIA CUDA . 2. NVIDIA CUDA.
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |