openmp

    0

    1답변

    n 대기열이 있다고 가정 해보십시오. 나도 n 스레드가 있습니다. 각 스레드는 n 대기열 중 하나에 대기열에 포함될 수 있습니다. 각 큐가 언제나 최대 1 개의 스레드에 의해 액세스되는지 어떻게 확인합니까? 단지 1 개의 대기열 인 경우 대기열 넣기 작업을 critical 섹션에 넣었습니다. 그러나 모든 대기열 넣기 작업을 critical 섹션에 넣으면 스

    0

    1답변

    OpenMP를 처음 사용했습니다. 배열의 최대 요소를 찾기 위해 max reduction 절을 사용하는 것이 좋지 않다고 생각하지만 실제로 병렬 for 루프는 연속적인 루프보다 훨씬 느리게 실행됩니다. int main() { double sta, end, elapse_t; int bsize = 46000; int q = bsize; int max_v

    2

    1답변

    schedule 절에 대한 OpenMP 설명서에서 schedule(auto)이 지정되면 스케줄링과 관련된 결정이 컴파일러 또는 런타임 시스템에 위임됨을 나타냅니다. 컴파일러 (예 : gcc)가 예약을 어떻게 결정합니까? static, dynamic, guided 중 하나를 선택합니까, 아니면 일정 선택을위한 자체 알고리즘이 있습니까?

    2

    1답변

    OpenMP 사양 문서에 "스레드가 작업 구성을 만났을 때 작업을 즉시 실행하도록 선택하거나 실행을 지연 할 때까지 스레드가 실행을 지연합니다. 나중에 시간 ". 그러나이 명세는이 선택이 어떻게 이루어 졌는지를 말하지 않는다. 스레드가 작업을 즉시 실행할시기와 실행을 연기 할시기를 어떻게 결정합니까? 구현에 따라 다르면 gcc 같은 컴파일러가 어떻게 이것을

    0

    1답변

    나는 병렬 컴퓨팅을 배우고 OpenMP와 C로 여행을 시작했습니다. 저는 Clion을 구성했지만 아직 행운이 없습니다. 기능에 main': C:/Users/John/CLionProjects/Parallelexamples/main.c:6: undefined reference to omp_get_num_threads ' C : /Users/John/CLionP

    1

    1답변

    프로그램 실행이 omp sections 지시문에 도달하면 다음 omp section 지시문으로 정의 된 프로그램 세그먼트가 사용 가능한 스레드간에 병렬 실행되도록 배포됩니다. 원래 스레드 omp sections의 omp section 지시문에 의해 정의 된 프로그램 세그먼트들 중 하나를 실행하는 스레드들 중 하나에 도달하기 전에 실행 즉, 스레드는? omp

    0

    1답변

    현재 OOP를 사용하여 Airport를 디자인하는 프로젝트를 진행 중입니다. 나는 C++을 사용하고있다. 내 비행기에서 착륙 할 수있는 활주로 번호를 지정하는 RequestLanding() 함수가있는 내 Airport 객체가 있습니다. 이 함수는 두 열거 형 중 하나를 반환합니다 .- 대기 중이거나 진행 중이면 비행기가 착륙할지 여부를 나타냅니다. 외부에서

    1

    1답변

    다음 코드는보다 1 개 스레드와 더 좋은 성능을 가진 느린 2 (4 개 스레드를 사용하는 것처럼, 속도 제공) : 내 노트북에 #include <stdlib.h> #include <stdio.h> #include <omp.h> int main(int argc, char **argv) { int n = atoi(argv[1]); in

    0

    1답변

    사이의 작업은 그래서, 난 약이 코드가 있습니다 for (int i = 0; i != 10000; ++i) { doAction(i); for (int j = 0; j != 10000; ++j) { ... } } 를 그리고 난의 OpenMP를 사용하여 parallellize 싶다. 알다시피, 단순한 collapse은

    1

    2답변

    두 개의 스레드 그룹이 있습니다. 한 그룹은 n 개의 스레드로 실행되고 다른 하나는 m 개의 스레드로 실행됩니다. 내가 동시에 그들을 시작하고 싶어하지만, 내가 무엇을 얻을 것은 다음 일 명을 시작 첫째, 그룹 2 //group 1 #pragma omp parallel num_threads(n) { #pragma omp for for