|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2012, 17:05 | #1 |
Регистрация: 12.04.2009
Сообщений: 9
|
параллельный алгоритм умножения матриц С++
Добрый день всем! Надеюсь что не откажете в помощи) Нужно написать программу параллельного умножения матриц. Ниже приведен примерный код выполнения только он не компилируется. Может кто-то глянет к этому коду или буду рада другому рабочему варианту параллельной программы.
Заранее благодарна! Листинг программы с++ void main(int argc, char* argv[]) { double* pAMatrix; // Матрица А double* pBMatrix; // Матрица B double* pCMatrix; // Матрица С int Size; // Размер матриц // Инициализация данных ProcessInitialization(pAMatrix, pBMatrix, pCMatrix, Size); void ProcessInitialization (double* &pAMatrix, double* &pBMatrix, double* &pCMatrix, int &Size) { int i, j; do { printf("\nВведите размер матриц: "); scanf("%d", &Size); if (Size <= 0) { printf("Размер должен быть больше 0! \n "); } } while (Size <= 0); pAMatrix = new double [Size*Size]; pBMatrix = new double [Size*Size]; pCMatrix = new double [Size*Size]; for (i=0; i<Size; i++) for (j=0; j<Size; j++) pCMatrix[i*Size+j] = 0; RandomDataInitialization(pAMatrix, pBMatrix, Size); } // Умножение матриц ParallelResultCalculation(pAMatrix, pBMatrix, pCMatrix, Size); void ParallelResultCalculation (double* pAMatrix, double* pBMatrix, double* pCMatrix, int Size) { int i, j, k; #pragma omp paralell for private (j, k) for (i=0; i<Size; i++) for (j=0; j<Size; j++) for (k=0; k<Size; k++) pCMatrix[i*Size+j] += pAMatrix[i*Size+k]* pBMatrix[k*Size+j]; } // Завершение вычислений ProcessTermination(pAMatrix, pBMatrix, pCMatrix, Size); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
составить программу умножения двух квадратных матриц | gnom 62 | Помощь студентам | 15 | 06.05.2012 14:52 |
векторизация умножения матриц | alek3s | Помощь студентам | 1 | 07.11.2011 16:32 |
Параллельный алгоритм прогонки | Zhadra | Общие вопросы Delphi | 4 | 23.04.2010 08:46 |
Курсовая работа (параллельный алгоритм) | MaxDDT | Фриланс | 1 | 05.01.2010 18:56 |
Написать функцию умножения двух матриц X(N,M) и Y(M,K) | Doublefaced | Помощь студентам | 1 | 02.07.2009 09:04 |