Мой профессор узнал об этом интересном эксперименте 3D Linearly separable Kernel Convolution с использованием SSE и OpenMP и дал мне задание сравнить статистику нашей системы. Автор заявляет сумасшедшее 18-кратное ускорение по сравнению с последовательным подходом! Может быть, не всегда, но мы ожидали как минимум 2-4-кратного ускорения на двухъядерном процессоре Intel.
Увы, мы точно не смогли найти никакого ускорения. Последовательный код всегда работает лучше, с OpenMP или без него.
Я использую Linux и заметил определенную тенденцию... когда в системе не запущены никакие другие процессы, через некоторое время loadavg начинает увеличиваться, а %CPU падает.
Еще одно вероятное ложное срабатывание, с которым я столкнулся случайно... Я запустил программу, а затем сразу поставил ее на паузу. Затем я запустил его в фоновом режиме с bg и увидел ускорение более чем в 2 раза. Это происходит постоянно!
Будем признательны любому совету.
Спасибо, Саян