|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
Есть код: авторusing System; using System.Collections.Generic; using System.Linq; using System.Text; using Cudafy; using Cudafy.Host; using Cudafy.Translator; namespace Задание_3 { class Program { public const int N = 20; public const int M = 12; static void Main(string[] args) { CudafyModule km = CudafyTranslator.Cudafy(); GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target); gpu.LoadModule(km); int[,] a = new int[N, M]; int[,] dev_a = gpu.Allocate<int>(N, M); // cudaMalloc one Int32 gpu.Launch(new dim3(4, 3), new dim3(N / 4, M / 3), "setMassive", dev_a); gpu.CopyFromDevice(dev_a, a); Console.Write("Filled massive:\n"); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) Console.Write(a[i, j] + " "); Console.WriteLine(); } gpu.Free(dev_a); Console.ReadKey(); } [Cudafy] public static void setMassive(GThread thread, int[,] a) { int x = thread.blockIdx.x * thread.blockDim.x + thread.threadIdx.x; int y = thread.blockIdx.y * thread.blockDim.y + thread.threadIdx.y; a[x, y] = thread.threadIdx.y; } } } Что обозначает строчка: авторgpu.Launch(new dim3(4, 3), new dim3(N / 4, M / 3), "setMassive", dev_a); ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 02:13 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
VIP2020Что обозначает строчка: автор Код: c# 1.
исполнить на GPU ядро "setMassive", размер грида 4 на 3, размер блока 5 на 4, результат записать в массив dev_a ЗЫ в документации описано ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 09:38 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
Изопропил, а что такое grid, блок и поток? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 11:17 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
ого, уже обертка появилась для CUDA. Зря я AMD взял.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 12:43 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
VIP2020Изопропил, а что такое grid, блок и поток? http://www.sdsc.edu/us/training/assets/docs/NVIDIA-02-BasicsOfCUDA.pdf например ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 13:42 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
netivanого, уже обертка появилась для CUDA. Зря я AMD взял.. эта же обёртка работает и с OpenCL -так что без особой разницы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 13:43 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
Изопропил, А можете ссылку скинуть на обертку? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 14:18 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
netivan, а для чего эта обертка? С ней данное приложение может запуститься, если у меня видеокарта ATI, a процессор Intel? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 18:48 |
|
Вопрос по С# / Cuda
|
|||
---|---|---|---|
#18+
VIP2020netivan, а для чего эта обертка? С ней данное приложение может запуститься, если у меня видеокарта ATI, a процессор Intel?ТС не я конечно. Но вообще это обертка над OpenCL - такой фреймворк для параллельных вычислений(наверное так можно сказать), который в частности поддерживают производители nvidia,amd,intel. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2014, 19:27 |
|
|
start [/forum/topic.php?fid=20&msg=38597962&tid=1403101]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 342ms |
total: | 487ms |
0 / 0 |