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

Распараллелить скалярное произведение векторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обходы графа http://www.cyberforum.ru/cpp-beginners/thread692073.html
Ребят, помогите с курсачом по Дискретной математике. Задача у меня такая: Имеется N городов, соединенных сетью дорог. Заданы длины участков дорог между парами городов. Спроектировать структуру телефонной сети с минимальной стоимостью затрат на ее строительство, если считать, что стоимость участка сети между двумя городами пропорциональна расстоянию между ними. Правильно ли я понимаю, если...
C++ Вычислить Минимальный элемент массива, сумму элементов между первым и последним положительными элементами В одномерном массиве, состоящем из N действительных элементов, вычислить: 1) Минимальный элемент массива. 2) Сумму элементов массива, расположенных между первым и последним положительными элементами. Превратить массив таким образом, чтобы сначала располагались все элементы, равные нулю, а затем - остальные. В одновимірному масиві, що складається з N дійсних елементів, обчислити: ... http://www.cyberforum.ru/cpp-beginners/thread690779.html
Преобразование и построение матриц C++
кто может объяснить все строчки !? #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> #include <time.h> int main() {
Обработка строк указателем C++
Обработка строк при помощи указателей. Здравствуйте Помогите, пожалуйста, решить задачу. Для ввода строк использовать один и тот же символьный массив tmp.Обработку строк производить при помощи указателей внутри выделенного блока памяти. Запрещается использовать дополнительные массивы или блоки. Создать текстовую функцию main(), которая реализует след. алгоритм: 1. Объявить и ввести...
C++ Ошибка при установки VS2010 http://www.cyberforum.ru/cpp-beginners/thread690053.html
У меня не работает Visual Studio 2010. По каким причинам - не знаю. Все начинается с установки вс ультимэйт 2010. Оно вроде бы устанавливается все ок. Но под конец вылетает окно "The application data floder for Visual Studio could not be created" после установка продолжается. И вс нормально запускается. Но когда я ввел какой-то элементарный код - он не работает. Выбивает окно: "не удается...
C++ Подсчет количества русских согласных букв с строке Народ, помогите, пожалуйста!!!! Нужно подсчитать количество русских согласных букв в строке, введенной с клавиатуры!!! что тут не правильно??? #include <iostream> using namespace std; подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
18.11.2012, 00:59     Распараллелить скалярное произведение векторов
Строго говоря, даже если убрать задержку в исходном варианте, то и тогда программа может выдавать неправильный результат. И в моём случае она выдаёт то 40, то 38, то 36... Это происходит из-за конкурирующего изменения одной переменной. Один из потоков может при вычислении tmp прочитать значение res раньше другого потока, а изменить значение res позже, затирая тем самым результат второго потока. А при наличии задержки это происходит практически гарантировано. Редукция — стандартный механизм для таких случаев, когда каждый поток вычисляет независимо свою частичную сумму, а объединением частичных сумм в полную занимается уже код OpenMP.
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru