|
0 / 0 / 0
Регистрация: 06.03.2019
Сообщений: 55
|
|
Создать и разбить одномерный массив на m одинаковых интервалов с использованием опций shared, private директивы parallel23.09.2020, 19:01. Показов 2615. Ответов 22
Не могу понять, как нужно правильно решить задачу, помогите кто шарит.
Дан одномерный массив A из n случайных элементов, расположенный в общей памяти. Массив разделен на m одинаковых интервалов (по количеству нитей). Каждая нить создает в локальной памяти массив B из n/m элементов и копирует в массив B элементы из заданного интервала массива A. Результат выводится на экран (в файл). (Примечание: использование опций shared, private директивы parallel).
0
|
|
| 23.09.2020, 19:01 | |
|
Ответы с готовыми решениями:
22
Какой View лучше "shared, Private On First Use" или Shared Как разбить массив на 10 интервалов? Shared Private On First Use |
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 29.09.2020, 16:54 | |
|
0
|
|
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
||||||||||||||||
| 30.09.2020, 03:27 | ||||||||||||||||
|
Ок.
Во первых, предлагаю отказаться от заполнения массива случайными числами, и наполнить его целыми по возрастанию - так будет проще контролировать работу потоков. Во вторых, короткое замечания о работе openMP:
В принципе, этого достаточно, чтобы решить задачу. Но нужно еще рассмотреть ситуацию с почти*. Суть проблемы в том, что в случае, если количество элементов в А не кратно количеству потоков, часть потоков получит меньше итераций и должно иметь меньшую размерность массива В. А ТС не хочет использовать динамически расширяющиеся контейнеры. Размерность массива B можно определить, узнав распределение итераций для тредов, но только в цикле for. Можно замутить замыкание или функтор, но видимо, этот вариант отпадает по той же причине, по которой отпал вектор. Можно посчитать руками на основе спецификации OpenMP. И наконец, видимо, можно использовать динамический массив СИ, постоянно делая realloc при добавлении элементов, либо выделив память под него в самой первой итерации цикла и проверяя, что память выделена во всех последующих. С другой стороны, можно отказаться от распараллеливания omp for и определить диапазоны индексов А в каждом треде самостоятельно на основе номера треда. Создать массивы В и скопировать данные из соответствующего диапазона А. Добавлено через 4 часа 46 минут С потоками кратными размеру массива:
0
|
||||||||||||||||
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
||||||||||||||||
| 30.09.2020, 14:27 | ||||||||||||||||
|
Ну и наконец, чтобы решить задачу для случая, когда количество итераций не кратно количеству потоков:
Пусть представим Для равномерного распределения задачи первые
решение для не кратного количества элементов
1
|
||||||||||||||||
| 30.09.2020, 14:27 | |
|
Shared, Private On First Use Folder Как обновлять Shared, Private On First Use Shared, Desktop Private On First Use Folder Вопрос по Shared, Private-on-first-usе Views Помогите плиз! Баг с Shared, Private-on-first-use View Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|