vector &); main (void)
{int SIZE = 5; :: vector A; :: vector B; :: vector REZULT (SIZE); tmp;
// fill vector A (int i = 0; i > tmp;. push_back (tmp);}
// fill vector B (int i = 0; i > tmp;. push_back (tmp);}
// :: vector :: iterator A_ = A.begin (); :: vector :: iterator B_ = B.begin (); :: vector :: iterator REZULT_ = REZULT.begin (); (REZULT_; REZULT_! = REZULT.end (); REZULT_ + +, A_ + +, B_ + +)
* (REZULT_) = * (A_) + * (B_); = clock () - time;
// output :: cout <<"Vector A:"; (A); :: cout <<"Vector B:"; (B); :: cout << ; "Vector REZULT:"; (REZULT);
system ("pause"); 0;
}
void show (const std :: vector & vec)
{:: copy (vec.begin (), vec.end (), std :: ostream_iterator (std :: cout, ""));
std :: cout <
}
Код програми розрахунку БПФ з використанням бібліотеки jCuda
public class JCufftDemo {static void main (String [] args) {[] fftResults; dataSize = 1 <<23;
System.out.println ("Генерація вхідних даних розміром" + dataSize + "значень ... n");
float [] inputData = createRandomData (dataSize)
System.out.println ("1D ШПФ з використанням apache commons math ..."); = commonsTransform (floatDataToDoubleData (inputData.clone ())); (fftResults);
System.out.println ();
System.out.println ("1D БПФ JCufft (дані в оперативній пам'яті) ...");
fftResults = jcudaTransformHostMemory (inputData.clone ()); (fftResults);
System.out.println ();. out.println ("1D БПФ JCufft (дані в пам'яті відеокарти) ..."); = jcudaTransformDeviceMemory (inputData.clone ()); (fftResults); p>
}
/**
* Генерує масив випадкових чисел
*
* @ param dataSize - розмір генерованого масиву
* @ return масив випадкових чисел
*/static float [] createRandomData (int dataSize) {random = new Random (); data [] = new float [dataSize]; (int i = 0; i
return data;
}
/**
* Конвертує масив значень типу float в масив значень double
*
* @ param data - масив якою конвертувати
* @ return - сконвертовані масив
*/static double [] floatDataToDoubleData (float [] data) {[] doubleData = new double [data.length]; (int i = 0; i
return doubleData;
}
/**
* Виконує ШПФ масиву значень за допомогою CUDA, здійснюючи
* операції з даними в оперативній пам'яті
*
* @ param inputData - масив вхідних значень
* @ return масив з результатами БПФ
*/static double [] jcudaTransformHostMemory (float [] inputData) {[] fftResults = new float [inputData.length +...