Форум программистов, компьютерный форум CyberForum.ru

Распараллеливание - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Try..catch..Throw http://www.cyberforum.ru/cpp-beginners/thread330029.html
Объясните пожалуйста разницу. Желательно с примерами, например деление на ноль, ну или чтобы было сразу несколько исключений. Расскажите пожалуйста про библиотеку exception. Заранее спасибо
C++ Оформление программы Как довести до ума программу на с++? Оформить, поменять цвет, шрифт, подписать??? http://www.cyberforum.ru/cpp-beginners/thread330026.html
C++ Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { friend class diagonal; //Вложенный класс public: class diagonal;
C++ Создать класс время с данными-членами часы, минуты, секунды
отучилась на программиста уже год, но пока что как-то тяжко с заданиями, тем более с классами, не успели пройти их... помогите пожалуйста решить Создать класс время с данными-членами часы, минуты, секунды. Перегрузить операторы сложения, вычитания(подсчет количества секунд между временем), ввода и вывода. Создать функции-члены сложения времени с заданным количеством секунд, вычитания из времени...
C++ Как послать своё сообщение другому приложению? http://www.cyberforum.ru/cpp-beginners/thread330016.html
#define WM_MYMESSAGE 2000 void main() { HWND hWnd; hWnd = ::FindWindow(NULL,"MyApp"); ::SendMessage(hWnd,WM_MYMESSAGE,0,0); }
C++ Класс "Студент", реализовать динамический список "Группа студентов" реализовать динамический список " группа студентов". Узел: -группа -фамилия Функции списка: -добавление по алфавиту -удаление указанного -очистка списка -поиск студента -печать списка подробнее

Показать сообщение отдельно
sever1313
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 61
31.08.2011, 01:19  [ТС]     Распараллеливание
вернулась снова к этой проблеме,выяснилось что моя программа без распараллеливания выполняется за тоже самое время,разве так может быть?помогите разобраться.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <iostream>
// #include <dos.h>
#define n 1000
#ifdef _DEBUG
#undef _DEBUG
#include <omp.h>
#define _DEBUG
#else
#include <omp.h>
#endif
void umn_matr(int **mas_1,int **mas_2,int **mas_3)
{
    int p=0;
    p=omp_get_num_procs();
    omp_set_num_threads(4);     // задаём количество параллельных процессов
    #pragma omp parallel for
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            mas_3[i][j] = 0;
            for (int k = 0; k < n; k++)
            {
                mas_3[i][j] += mas_1[i][k] * mas_2[k][j];
            }
        }
    }
}
int main()
{   
    using namespace std;
    setlocale(LC_ALL, "rus");
    clock_t start, end;
    int **mas_1=new int *[n];
    int **mas_2=new int *[n];
    int **mas_3=new int *[n];
    for (int i=0; i<n; i++) 
    {
        mas_1[i] = new int [n];
        mas_2[i] = new int [n];
        mas_3[i] = new int [n];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            mas_1[i][j]=rand()%3;
            mas_2[i][j]=rand()%3;
        }
    }
    start = clock();
    umn_matr(mas_1,mas_2,mas_3);
    end = clock()-start;
    printf("Время выполнения программы с использованием распараллеливания: %f\n",end/(double)CLOCKS_PER_SEC );
    delete[]mas_1;
    delete[]mas_2;
    delete[]mas_3;
    getch();
}
если убрать те самые строчки,где задается распараллеливание,то программа работает так же,без изменений,не быстрее и не медленнее.
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru