Comments 4
Не стоит использовать != в управлении циклом
OpenMP в основном предназначается для параллельной обработки данных. Любая порция данных имеет определённый размер. Стандарт C++ вводит специальный тип данных «size_t» для хранения размеров. По определению он не может быть отрицательным. Так что главное правило — используйте правильные типы данных. Не нужно писать
for(int i = 0...
если вы хотите проитерировать контейнер. Это не только будет легче читаться, но и упростит задачу компилятору.P.S. конечно и итерация отрицательных чисел иногда нужна бывает. Но большинство задач сводятся к векторизации обработки массивов.
Кто знает почему под C# не сделали OpenMP реализацию? Там вроде есть параллелизм данных, но скорость на поток резко падает по сравнению с аналогичным циклом в Фортране?
Sign up to leave a comment.
Несколько советов по OpenMP