Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Технологія СUDA

Реферат Технологія СUDA





2];

// створення планаplan = new cufftHandle ();. cufftPlan1d (plan, inputData.length, cufftType.CUFFT_R2C, 1);

// виконання БПФtimeStart = new Date (). getTime ();. cufftExecR2C (plan, inputData, fftResults);. out.println ("Час перетворення:" + (new Date (). getTime () - timeStart)/1000.0 + "сек");

// знищення плана.cufftDestroy (plan);

return cudaComplexToDouble (fftResults);

}

/**

* Виконує ШПФ масиву значень за допомогою CUDA, здійснюючи

* операції з даними в пам'яті відеокарти

*

* @ param inputData - масив вхідних значень

* @ return масив з результатами БПФ

*/static double [] jcudaTransformDeviceMemory (float [] inputData) {[] fftResults = new float [inputData.length + 2];

// покажчик на устройствоdeviceDataIn = new Pointer ();

// виділення пам'яті на відеокарті для вхідних даних

JCuda.cudaMalloc (deviceDataIn, inputData.length * 4);

// копіювання вхідних даних у пам'ять відеокарти

JCuda.cudaMemcpy (deviceDataIn, Pointer.to (inputData), inputData.length * 4,. cudaMemcpyHostToDevice);

Pointer deviceDataOut = new Pointer ();

// виділення пам'яті на відеокарті для результатів перетворення

JCuda.cudaMalloc (deviceDataOut, fftResults.length * 4);

// створення планаplan = new cufftHandle ();. cufftPlan1d (plan, inputData.length, cufftType.CUFFT_R2C, 1);

/*

* plan - покажчик на план

* inputDataSize - кількість вхідних значень; якщо вхідні дані є * речовими, то цей параметр дорівнює довжині вхідного масиву, а якщо * вхідні дані це масив комплексних чисел, то значення параметра дорівнює * половині довжини вхідного масиву, тому що одне комплексне число представлено * двома елементами масиву

* cufftType.CUFFT_R2C - тип перетворення

* 1 - кількість подібних перетворень

*/

// виконання БПФtimeStart = new Date (). getTime ();. cufftExecR2C (plan, deviceDataIn, deviceDataOut);. out.println ("Час перетворення:" + (new Date (). getTime () - timeStart)/1000. + "сек")

// копіювання результатів з пам'яті відеокарти в оперативну пам'ять

JCuda.cudaMemcpy (Pointer.to (fftResults), deviceDataOut, fftResults.length * 4,. cudaMemcpyDeviceToHost);


// звільнення

}

/**

* Виконує ШПФ масиву значень за допомогою Apache Commons Math

*

* @ param inputData - масив вхідних значень

* @ return масив з результатами БПФ

*/static double [] commonsTransform (double [] inputData) {fft = new FastFourierTransformer (); timeStart = new Date (). getTime (); [] cmx = fft.transform (inputData) ;. out.println ("Час перетворення:" + (new Date (). getTime () - timeStart)/1000. + "сек"); [] fftReults = new double [inpu...


Назад | сторінка 7 з 13 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Marketing plan on BMW
  • Реферат на тему: Business plan
  • Реферат на тему: Business plan of ecological tourism
  • Реферат на тему: Procedure of preparation business-plan
  • Реферат на тему: Обробка одновимірних масивів. Виділення мінімального і максимального елеме ...