Programowanie w systemie UNIX/CPU: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 11:
[[Grafika:Parabolic Julia set for internal angle 1 over 5.png|mały|prawo|Obraz i kod z użyciem OpenMP]]
 
Sprawdzamy ile rdzeni (wątków) ma procesor :<ref>[http://www.linux-mag.com/id/4609/ OpenMP in 30 Minutes By Joe Landman]</ref>
 
grep 'processor.*:' /proc/cpuinfo | wc -l
 
Im więcej tym lepiej. Jeśli 1 to nie ma potrzeby używania OpenMP.
 
Użycie OpenMP<ref>[[w:OpenMP|OpenMP w wikipedii]]</ref><ref>[http://www.linux-mag.com/id/4609/ OpenMP in 30 Minutes By Joe Landman]</ref> polega na dodaniu do istniejącego kodu ( tu przykład z kodem w C ) :
* nie instalujemy biblioteki ponieważ OpenMP jest to opcja kompilatora<ref>[http://askubuntu.com/questions/144352/how-can-i-install-openmp-in-ubuntu askubuntu question how-can-i-install-openmp-in-ubuntu]</ref>
* [[C/Preprocesor#Dyrektywy_preprocesora|dyrektywy preprocesora]]: #include <omp.h>
* Tworzenie wątków za pomocą dyrektywy : #pragma omp parallel
Linia 81 ⟶ 87:
==Blędy==
Najczęstsze błędy<ref>[http://www.viva64.com/en/a/0054/ 32 OpenMP Traps For C++ Developers 20.11.2009 by Alexey Kolosov, Andrey Karpov, Evgeniy Ryzhkov]</ref><ref>[http://www.michaelsuess.net/publications/suess_leopold_common_mistakes_06.pdf Common Mistakes in OpenMP and How To Avoid Them A Collection of Best Practices by Michael Suß and Claudia Leopold]</ref>
==Poradniki==
* [http://bisqwit.iki.fi/story/howto/openmp/ Guide into OpenMP: Easy multithreading programming for C++ By Joel Yliluoma, ]
 
=Źródła=