Как же я люблю некоторых разработчиков библиотек.
Сначала отличилась octave. В ней есть конструкция parfor, которая как бы параллелит цикл. Но,
внезапно:
> Is it true that parfor is the same as for?
Yes, parallizing the Octave interpreter has proven to be a difficult task.
Да что ты говоришь!
К счастью, всё не так печально и для желаемого результата нашлась пара функций из сторонних пакетов.
Потом выступила GSL. Оптимизация, HPC, все дела. Вроде бы должны понимать, что наличие восьми ядер как-то можно использовать в процессе нахождения оптимума. И снова гордые девелоперы
гордятся своей самобытностью:
We don't intend to provide support for parallelism within the library itself. A parallel library would require a completely different design and would carry overhead that other applications do not need.
Ну девочка, ну...
Как так можно жить вообще? Одни жрут неудобоваримое нечто под названием matlab (ладно, хрен с ними, люди математики и академиев изящного кодинга не кончали), другие пишут код, который не очень-то получается использовать в качестве бенчмарка. OpenMP как бы есть, но в то же время GSL его не может осилить в тех задачах, в которых это критически важно, вроде адовых числодробилок, которые от ускорения в восемь раз будут выигрывать не лишние наносекунды, а минуты и часы.