Etiket arşivi: openmp

OpenMP

Son yıllarda bilgisayar mimarisinde çok çekirdekli yapıya geçilmiştir. Böylelikle bilgisayarımız aynı anda birden fazla işi yapabilecek duruma gelmiştir. Donanım olarak bu mimarinin kullanılabilmesi için tabiî ki yazılımlar gerekmektedir. Sadece paralel programlama ile hazırlanmış programlar birden fazla çekirdeği aynı program için kullanma imkanı sunmaktadır. Böylelikle program parçalara ayrılarak çekirdeklerde eş zamanlı olarak çalıştırılır. Bu yöntemle günlerce sürecek büyük hesaplamaların yapıldığı programlar saatler içerisinde halledilebilir hale gelmiştir. Ayrıca paralel programlama sadece multicore ve tek bilgisayar üzerinde kullanılmamaktadır, bununla birlikte bir ağ üzerinde birleştirilmiş ve birbiriyle iletişim halinde olan birden fazla bilgisayarla da paralel programlama yapılabilir. Böylelikle ağ üzerinde dağıtık halde bulunan bilgisayarların bellekleri ortak olarak kullanılabilir. Yapılan işlem tüm bilgisayarlara paylaştırılarak işlem sonucunu normalden çok daha kısa sürede elde edebiliriz. OpenMP paralel programlama işini kolaylaştıran bir API’dir. Çalışma prensibi, paralel işletilmesi gereken kısımlarda dallanır, paralel çalışıp işlem bitince tekrar birleşmesi şeklinde olur. Buna Fork-Join Model denir. OpenMP Api’sinin her platforma göre derleyicisi bulunmaktadır. Ayrıca C++,C ve Fortran ile kullanılabilir.