Apakah OpenMP?

王林
Lepaskan: 2023-09-12 15:29:02
ke hadapan
1100 orang telah melayarinya

Apakah OpenMP?

OpenMP ialah satu set arahan pengkompil dan API untuk atur cara yang ditulis dalam C, C++ atau FORTRAN yang menyediakan sokongan untuk pengaturcaraan selari dalam persekitaran memori yang dikongsi. OpenMP mengiktiraf kawasan selari sebagai blok kod yang boleh dijalankan secara selari. Pembangun aplikasi memasukkan arahan pengkompil ke dalam kod rantau selari yang mengarahkan perpustakaan masa jalan OpenMP untuk melaksanakan rantau itu secara selari. Program C berikut menggambarkan arahan pengkompil di atas kawasan selari yang mengandungi pernyataan printf() -

#include <omp.h>
#include <stdio.h>
int main(int argc, char *argv[]){
   /* sequential code */
   #pragma omp parallel{
      printf("I am a parallel region.");
   }
   /* sequential code */
   return 0;
}
Salin selepas log masuk

Apabila OpenMP menemui arahan ini

#pragma omp parallel
Salin selepas log masuk

ia dicipta dengan sistem seberapa banyak teras pemprosesan sebagai benang. Oleh itu, untuk sistem dwi-teras, dua utas dicipta, untuk sistem quad-teras, empat utas dicipta dan seterusnya. Semua benang kemudian melaksanakan kawasan selari secara serentak. Setiap benang ditamatkan apabila ia keluar dari kawasan selari. OpenMP menyediakan beberapa arahan tambahan untuk menjalankan kawasan kod secara selari, termasuk gelung selari.

Selain menyediakan arahan penyejajaran, OpenMP juga membenarkan pembangun memilih antara berbilang tahap selari. Contohnya, mereka boleh menetapkan bilangan utas secara manual. Ia juga membolehkan pembangun mengenal pasti sama ada data dikongsi antara benang atau benang-peribadi. OpenMP tersedia pada beberapa penyusun sumber terbuka dan komersial untuk sistem Linux, Windows dan Mac OS X.

Atas ialah kandungan terperinci Apakah OpenMP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan