0 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 169

OneApi в MSVS

20.06.2024, 13:23. Показов 2829. Ответов 5

Студворк — интернет-сервис помощи студентам
При компиляции в Visual Studio2022 был выбран компилятор Intel, поставлена ли опция параллелизации я не понял, хотя возможно (прямого пункта о параллелизации не нашел) но может быть поставилась . Написал алгоритм нахождения максимума в массиве размера n. Какие директивы openmp ни писал, скорость только падает раз в 30-100. Если была поставлена параллелизация в опциях, то при действующих директивах openmp параллелизацию следует отменить в настройках C/C++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2024, 13:23
Ответы с готовыми решениями:

Конвертировать с MsVS 2008 в MsVS 2010
У меня есть проект на MsVS 2008. Он состоит с нескольких файлов, которые потом подключаются в основной программе. Как можно сделать чтобы...

Переделать msvs 6 В msvs 2008
приложение написано на визиал студия 6 хочу внести в него коррективы есть НО у меня стоит студия 2008 сам файл...

Ошибка переменной окружения ONEAPI_ROOT в VS после установки oneAPI
Переустановил Intel oneAPI. Вот такая ошибка выскакивает каждый раз после загрузки VS: Уже бывало такое, но я удалил Intel...

5
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
20.06.2024, 14:01
jykm, у вас такая проблема только при использовании компилятора Intel C++ или с Visual C++ та же проблема?
Вероятно, проблема в коде, а не в компиляторе. Без исходников сложно что-то сказать.

Добавлено через 4 минуты
Поддержка OpenMP есть и в настройках обоих компиляторов.
Свойства проекта → C/C++ → Language [Intel C++] → OpenMP Support (для MS аналогично, только без [Intel C++]).
Без этой опции директивы #pragma omp работать не будут.
Про какую параллелизацию вы спрашиваете (нужно ли её отменить)?
0
0 / 0 / 0
Регистрация: 03.08.2017
Сообщений: 169
20.06.2024, 14:06  [ТС]
Ну код не очень сложный: найти максимум. Да, делал рекурсию и на верхнем уровне сделал 2 блока, но и все. Ошибок в результате не заметно. Ладно попробую сам запустить на default проекте.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
20.06.2024, 15:13
jykm, и всё же:
Цитата Сообщение от Jin X Посмотреть сообщение
у вас такая проблема только при использовании компилятора Intel C++ или с Visual C++ та же проблема?
Добавлено через 2 минуты
Цитата Сообщение от jykm Посмотреть сообщение
Ну код не очень сложный: найти максимум.
И в таком коде вполне можно накосячить
0
фрилансер
 Аватар для Алексей1153
6476 / 5698 / 1131
Регистрация: 11.10.2019
Сообщений: 15,175
20.06.2024, 18:43
jykm, также попробуй сравнить скорость со стандартным алгоритмом

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <execution>
 
int main()
{
    int v[1000]{};
    
    //v - тут как-то заполняется
    //...
    
    //ищем максимум с распараллеливанием
    auto it_result = std::max_element(std::execution::par_unseq,std::begin(v), std::end(v));
    
    std::cout<<*it_result;
}
Добавлено через 3 минуты
само собой, только нужно учитывать гонку данных, возникающую при многопоточности, если в это время ещё другой поток может лезть к массиву для записи
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
21.06.2024, 18:01
У OMP есть опция reduction, которая как раз для таких задач и предназначена.
Но нахождение максимума — это настолько элементарная операция, что попытка её распараллелить может действительно замедлить процесс из-за накладных расходов на создание/завершение потоков и работу с атомиками.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2024, 18:01
Помогаю со студенческими работами здесь

Как установить OpenCL для использования в Intel OneAPI MKL в QtCreator
Мне нужно использовать Intel OneAPI MKL в QtCreator в Windows 10. MKL подключается к проекту довольно легко, но для MKL нужен OpenCL. ...

Qt + MSVS
Начал изучать с++,тут столкнулся с проблемой: графический интерфейс для программы. Решил скачать QT SDK,и тут мне сказали что можно...

Qt 4.8.4 msvs 2012
Доброго времени суток дорогие форумчане)Сразу предупреждаю у мя 8ка(64 разрядная)! Очень бы хотелось поформошлёпить с Qt. Мне не очень...

MSVS и MFC
В MSVS 2010 C++ нету MFC. Почему?

MSVS vs Dev-C++
Всем здравствуйте. Уважаемые гуру C++! Подскажите пожалуйста, в чём разница сред программирования visual studio и Dev-C++? Всем заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru