Ребят, ну может кто нибудь скинет ссылку где все основательно будет описано. Ну реально не могу толкового найти, везде разрозненная информация, непонятные обрывки...
Вот мной изданная книжка:
http://www.books.ru/books/qnxunix-anatomiya-parallelizma-357604/?show=1Там же в отзывах написал кто-то:
хорошая книга - на русском аналогов не видел
Вот здесь на Flibusta можете её скачать:
http://www.flibusta.net/b/129432
Пользователь решил продолжить мысль 06 Апреля 2012, 12:00:34:
А если так. Есть 2 ядра и матрица 10 на 10. И распараллелить все это дела на 2-а процесса (на каждое ядро), а у каждого процесса уже по 50 потоков?
Мне кажется что так как более "ровно" получиться...или мне ити дальше читать теорию?))
Нет, не так
Не нужно вам делить на 2
процесса (да и это
намного сложнее: я такое напишу, а вы вряд ли - процессам ещё взаимодействовать при этом надо средствами IPC).
Всё заметно проще:
Делаете 10
потоков, динамически в цикле (причём вот то 10 - это просто переменная, параметр цикла), выполняя в цикле pthread_create, и эти 10 потоков будут сами, оптимальным образом раскладываться на то число процессоров (ядер), которое будет на текущем компьютере.
P.S. заметьте, что кроме ядер у вас на компьютере может быть дополнительно и Hyper Threading, и пусть система сама решает: можно на эти гипер-триэды раскладвать ваши потоки или нет.
P.P.S. в книжке, которую я вам показал, есть прямо готовые примеры кода, делающие то, что я на пальцах описал.