tData.length/2 + 1 ]; (int i = 0; i
} fftReults;
}
/**
* Метод здійснює перетворення масиву комплексних чисел в
* масив, що містить їх модулі
*
* @ param complexData - масив комплексних чисел
* @ return масив модулів комплексних чисел
*/
public static double [] cudaComplexToDouble (float [] complexData) {[] result = new double [complexData.length/2]; j = 0; (int i = 0; i
i + +;
} result;
}
/**
* Виводить на стандартний висновок найперше, середня
* і останнє значення масиву
*
* @ param data - масив, значення якого необхідно вивести
*/static void printSomeValues ​​(double [] data) {. out.println ("[0]:" + data [0]);. out.println ("[" + (data.length/2) + "]:" + data [data.length/2]);. out.println ("[" + (data.length-1) + "]:" ; + data [data.length-1]);
}
}
Технічний висновок програми
Генерація вхідних даних розміром 8388608 значень ...
D БПФ з використанням apache commons math ...
Час перетворення: 92.851 сек
[0]: 4195107.645827353
[2097152]: 1411.8392665442454
[4194304]: 114.60465306043625
D БПФ JCufft (дані в оперативній пам'яті) ...
Час перетворення: 0.085 сек
[0]: 4195107.922955976
[2097152]: 1411.791370918522
[4194304]: 114.75
D БПФ JCufft (дані в пам'яті відеокарти) ...
Час перетворення: 0.0 сек
[0]: 4195107.922955976
[2097152]: 1411.791370918522
[4194304]: 114.75
Код програми розрахунку числа PI
# include "cuda_runtime.h"
# include "device_launch_parameters.h"
# include
# include
# include
# include
# include
# include
# define CUDA_FLOAT floatlong GRID_SIZE = 1024; long BLOCK_SIZE = 16;
...