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

Безопасная работа с памятью в OpenMP С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генерация и проверка серийного номера, как реализовать? http://www.cyberforum.ru/cpp-beginners/thread1498282.html
Мне нужно, скажем так, защитить программу - написать функцию генерации и проверки уникального серийного номера для каждой копии программы. Пока не совсем понимаю, в каком направлении копать. Я знаю, что как-то можно получить ID процессора или винчестера и отталкиваться от этого. (А если, скажем программа на виртуалке будет запущена, то id оборудования там будут одинаковые?)
C++ While в while здравствуйте, я только начала изучать C++, с простыми циклами все понятно, а вот вложенные циклы туговато доходят. пожалуйста объясните данный код (желательно каждую строчку)) int i=0; int j=0; int num=0; while (i<10) { while (j<10) { num++; j++; http://www.cyberforum.ru/cpp-beginners/thread1498275.html
C++ Конструктор с параметром C++
Приветствую! Изучая одну литературу столкнулся с конструктором в котором мне не понятен синтаксис т.к. во время обучения самого С++ не сталкивался с ним. Объясните пожалуйста. struct func { int& i; func(int& i_) : i(i_) {}//собственно конструктор который не понятен, объясните как он работает, и если можно напишите аналог void operator() () { ...
Контейнер map с сохранением порядка вставки элементов C++
Можно ли в контейнере расположить ключи так, чтобы они не были отсортированы в порядке убывания или возрастания. Например я ложу в контейнер такие ключи: map<string,string> st; st.insert(make_pair("A","A1")); st.insert(make_pair("C","C1")); st.insert(make_pair("B","B1")); Но "map" располагает ключи в алфавитном порядке автоматически, то есть: A:A1 B:B1
C++ Можно ли узнать, каким компилятором была собрана ты или иная DLL-ка ? http://www.cyberforum.ru/cpp-beginners/thread1498265.html
сабж..
C++ Поиск в тексте неодинаковых открытой и закрытой дужек или кавычек разработать программу по поиску в тексте неодинаковых открытой и закрытой дужек или кавычек. Исправить ошибки и сохранить файл подробнее

Показать сообщение отдельно
Iakov
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 8

Безопасная работа с памятью в OpenMP С++ - C++

13.07.2015, 17:39. Просмотров 155. Ответов 0
Метки (Все метки)

Добрый день.
Вопрос связан с тем как можно добавлять элементы к общему динамическому массиву в параллельных потоках.
По сути задачи приходится к созданному многомерному vector добавлять новые элементы.
Пусть есть, например, vector<vector<int>> A. Первая размерность уже проинициализрована полностью (например, 0-N-1). Есть гарантия, что внутри потоков происходит обращение к собственному набору индексов первой размерности. То есть, разные потоки не могут обращаться к одному и тому же первому индексу.
Однако заранее определить размерность второго индекса для каждого первого индекса невозможно (вычисляется внутри цикла по первому индексу).
Можно конечно взять максимально возможную оценку, но тогда никакой памяти не хватит (Сотни гигабайт). В результате пользуюсь операторами типа A[i].push_back(k) в каждый момент, когда необходимо добавить элемент (В реальности массив четырехмерный, причем основной добавляемый элемент - Structure)
Тем не менее необходимо распараллеливание (счет идет более суток).
Попробовал использовать простейшие варианты из OpenMP типа #pragma omp parallel for, однако во время работы выдает всякие ошибки так или иначе связанные с памятью.
Может ли кто-нибудь подсказать, как все-таки добавлять память внутри потоков, при этом получая выигрыш во времени счета при распараллеливании.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru