Какие API параллельного программирования вы используете?

Я рекомендую OpenMP. Microsoft multithreading поместила его в компилятор parallel Visual C++ 2005, поэтому parallel-processing он хорошо поддерживается, и parallelization вам не нужно делать ничего, кроме thread компиляции с директивой /omp.

Он multithread прост в использовании, хотя, очевидно, он threads не все делает за вас, но pthread тогда ничего не делает. Я multithreading использую его для запуска openmp параллельных циклов for, как thread правило, без каких-либо хлопот, для parallel-programming более сложных вещей я обычно multithread использую свой собственный pthreads (например, у меня есть код parallel-programming многолетней давности, который threads я вырезаю, вставляю и модифицирую).

Вы pthreads можете попробовать Cilk++, который parallel хорошо выглядит и имеет электронную threads книгу "How to Survive the Multicore Software Revolution".

Оба этих типа систем pthreads пытаются распараллелить последовательный threads код, т.е. взять цикл for openmp и запустить его на всех ядрах parallel одновременно максимально parallelization простым способом. Они, как parallelization правило, не являются библиотеками parallelization потоков общего назначения. (например, в threads research paper(pdf) описана производительность multithreading различных типов пулов потоков, реализованных parallel-programming в openMP, и предложено добавить threads к нему 2 новые операции — yield parallel-processing и sleep. Я думаю, что они threading немного упускают суть OpenMP)

Как multithreading вы упомянули OpenMP, я предполагаю, что multithreading вы говорите о родном C++, а multithread не о C# или .NET.

Кроме того, если parallelism люди, занимающиеся высокопроизводительными thread вычислениями (которые, как pthread я полагаю, являются экспертами pthread в этой области), похоже, используют thread OpenMP или MPI, то это то, что pthreads вам следует использовать, а threads не читательская аудитория parallelism SO!

multithreading

pthreads

parallel-processing

openmp

2022-07-07T23:53:37+00:00