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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Оптимизация обмена http://www.cyberforum.ru/cpp-beginners/thread1008327.html
Дан файл последовательного доступа размером не менее 384 Кбайт, содержащий информацию числового типа. Переписать этот файл в ОП 10 раз поблочно, с использованием алгоритма чтения "от конца файла". Характеристика: размер блока считывания (1-1024 байт).
C++ не могу подключить framework google c++ testing в проект не могу подключить framework google c++ testing в проект пользовался инструкцией с сайта http://habrahabr.ru/company/infopulse/blog/164471/ выводит такие ошибки: как можно подключить? и что я неправильно делаю? http://www.cyberforum.ru/cpp-beginners/thread1008325.html
Написать через оператор while C++
Здравствуйте, возник такой вопрос. Написал совсем простенькую программу и вроде бы всё хорошо, но тут возникла некоторая обходимость. #include "iostream.h" #include "math.h" int main() double n,s,x; int i; cout << "Vvedite n,x" << endl; cin >> n >> a; s=0;
C++ m - мерный массив
Дано n точек m мерного пространства, каждая точка имеет массу. Найти координаты точки наиболее удаленной от точки центра масс. Помогите плз...
C++ Создание классов и объектов http://www.cyberforum.ru/cpp-beginners/thread1008314.html
Написать программу создания класса. File: Имя файла, Размер, Дата создания, Количество обращений. Определить возможно ли записать файл на CD-диск.
C++ Функция сложения двух чисел здравствуйте все, сидящие на форуме в столь поздний час. Не могли бы вы мне чем нибудь помочь с заданием с института, а то я его совсем почти не понимаю( хоть какие нибудь идеи, или алгоритм, но только не столь умным языком...) а то я пол инета перерыла - вообще почти ничего толкового не нашла( Реализуйте функцию сложения двух целых чисел. Обоснуйте и реализуйте для этой функции не менее... подробнее

Показать сообщение отдельно
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
15.11.2013, 15:30     Распараллеливание вычислений
Цитата Сообщение от ShishkOff92 Посмотреть сообщение
C++
1
2
#pragma omp parallel for shared(a) private(i,j) num_threads (thread_num) 
for (i=0; i<ISIZE; i++){ for (j=0; j<JSIZE; j++){ a[i][j] = 10*i +j; } }
здесь все ок - у каждого потока есть своя диагональ/несколько диагоналей, поэтому они не конфликтуют
Цитата Сообщение от ShishkOff92 Посмотреть сообщение
C++
1
2
3
4
5
6
7
   #pragma omp parallel for shared(a) private(i,j) num_threads (thread_num)
   for (i=1; i<ISIZE; i++){
      for (j = 0; j < JSIZE-1; j++){
               //a[ISIZE][0] = 10*ISIZE;
               a[i][j] = sin(0.00001*a[i-1][j+1]);
      }
   }
здесь это не так - за счет (i-1) и (j+1) есть ощущение, что разные потоки могут работать с одними и теми же данными, тоесть в ходу идут race condition'ы
надо прикидывать как правильно распараллелить второй случай
я бы для начала проверил, что в нем дело (убрав omp'ную директиву и сверив)

Добавлено через 13 часов 28 минут
для распараллеливания здесь нужно разворачивать матрицу на ленты
дело это не очень сложно, но достаточно неприятное
если это дело не простого интереса, то могу прикинуть как это сделать
 
Текущее время: 13:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru