खोज…


वाक्य - विन्यास

  • #pragma omp parallel इंगित करता है कि निम्नलिखित खंड को सभी थ्रेड्स द्वारा निष्पादित किया जाएगा।

  • int omp_get_num_threads (void) : समानांतर क्षेत्र (थ्रेड्स की उर्फ टीम) पर काम कर रहे थ्रेड्स की संख्या लौटाता है।

  • int omp_get_thread_num (void) : कॉलिंग थ्रेड के पहचानकर्ता (0 से N-1 तक की श्रेणी देता है, जहां N को omp_get_num_threads() ) से omp_get_num_threads()

टिप्पणियों

आप पूरे एप्लिकेशन के लिए या निर्दिष्ट क्षेत्र के लिए क्रमशः थ्रेड निष्पादित करने की संख्या को इंगित करने के लिए #pragma parallel भीतर OMP_NUM_THREADS पर्यावरण चर या num_threads निर्देश का उपयोग कर सकते हैं।

OpenMP का उपयोग करके समानांतर हैलो दुनिया

निम्नलिखित सी कोड OpenMP समानांतर प्रोग्रामिंग मॉडल का उपयोग करता करने के लिए धागा आईडी और धागे की संख्या लिखने के stdout से अधिक थ्रेड का उपयोग कर।

#include <omp.h>
#include <stdio.h>

int main ()
{
    #pragma omp parallel
    {   
        // ID of the thread in the current team
        int thread_id = omp_get_thread_num();
        // Number of threads in the current team
        int nthreads = omp_get_num_threads();

        printf("I'm thread %d out of %d threads.\n", thread_id, nthreads);
    }
    return 0;
}

फोरट्रान 90+ में समान कार्यक्रम दिखता है:

program Hello
  use omp_lib, only: omp_get_thread_num, omp_get_num_threads

  implicit none

  integer :: thread_id
  integer :: nthreads

  !$omp parallel private( thread_id, nthreads )

  ! ID of the thread in the current team
  thread_id = omp_get_thread_num()
  ! Number of threads in the current team
  nthreads = omp_get_num_threads()

  print *, "I'm thread", thread_id, "out of", nthreads, "threads."
  !$omp end parallel
end program Hello


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow