| Цитата |
|---|
LIKE OFF пишет:
По ощущениям от работы с привычными задачами - интернет, обработка фоток, чуть-чуть работа с видео в простом редакторе, игрушки, различные офисные программы... разницы никакой. |

Потому что все вышеуказанные, как правило, не поддерживают параллельность.
| Цитата |
|---|
LIKE OFF пишет:
На 12 потоках уже легче видеть, как они распределяются - хаотично. Я не вижу логики ни при копировании файлов, ни при видео, ни при запуске всего этого одновременно. |
Да. Задачи, не поддерживающие параллельные вычисления - просто садятся системой через SMP на один из ядер\камней, и сидят на них - и не далее. Хоть там сто камней в системе....Соседние ядра\камни в подавляющем большинстве случаев и знать не знают про то, что на его соседе кто-то сидит и тому соседу весьма жарко от возложенной работы.
| Цитата |
|---|
LIKE OFF пишет:
Распараллелить на 2-3 потока - это одна задача. Распараллелить на 12 потоков - это уже совсем другая, более сложная. |
Нет. Задача абсолютно одинаковая при числе параллельных потоков больше единицы. То есть, вопрос стоит как "Мы
уже распараллелены, или
еще нет?"
Качественно разделить на примерно равные по ресурсоемкости части какую-нибудь однопотоковую задачу - вот где собачка порылась...Во сколько потоков потом пустятся на выполнение эти кусочки параллельности общей задачи - дело десятое, в конце выполнения их все равно автомат соберет воедино.
Пример: одна какая-нибудь задача, кидаемая на CUDA: задача неизменна, софт неизменен, и особо неважно - десять ядер CUDA доступно или сто десять. На выхлопе они все равно птом соберутся воедино. Гораздо более важнее - есть ли в системе вообще ядра CUDA, и поддерживает ли софт операции на нем (распараллеливается ли).
А от их числа зависит скорость выполнения всей задачи (при этом все равно сюда применимо правило "самого медленного корабля в эскадре"), а вовсе не сложность софта.
