@Hatemylifezxc

Почему программы грузят несколько потоков, даже если не содержат многопоточного кода?

ВОт на этом сайте https://benchmarksgame-team.pages.debian.net/bench... показывается, что программа например грузит все 4 потока на 100%, но если посмотреть на сам код, то там нет ни 1 строки про многопточность, как такое возможно ?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 2
@ncpuma
По ссылке многопоточная программа
#pragma omp parallel for
   for (i = 0; i < n; i++) {
      __m128d sum = _mm_setzero_pd();

      int j;
      for (j = 0; j < n; j += 2) {
         __m128d b = _mm_set_pd(v[j],v[j+1]);
         __m128d a = _mm_set_pd(A(i,j), A(i,j+1));
         sum = _mm_add_pd(sum, _mm_div_pd(b, a));
      }
      out[i] = sum[0] + sum[1];
   }
}


Директива #pragma omp parallel for - это многопоточная библиотека OpenMP, если не ошибаюсь
Ответ написан
Комментировать
@vanyamba-electronics
Современные процессоры умеют распараллеливать вычисления при загрузке кода в конвейер.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы