openmp

    0

    2답변

    그래서 저는 잠깐 동안 온라인을 둘러 보았습니다. OMPThread (omp_get_thread_num();에 의해 주어진)와 스레드가 실행될 실제 코어에서 특정 컴퓨터의 매핑을 알아낼 수있는 방법이 OpenMP 사용에 익숙하지 않으므로 여기에 있습니다. 또한 OMP가 스레드를 어떻게 할당했는지에 대해서도 관심이있었습니다. 예를 들어 동일한 코드가 동일한

    7

    2답변

    OpenMP를 사용하여 행렬 곱셈을위한 프로그램을 작성했습니다. 캐시 편의를 위해 A x B (전치 행) 행 대신 X 행을 사용합니다. A x B rows x columns. 캐시 효율을 향상시킵니다. 이렇게하는 것은 흥미로운 사실입니다.이 코드에서 extern 루프를 병렬 처리하면 프로그램에서 OpenMP 지시문을 가장 안쪽 루프에 넣는 것보다 속도가 느

    1

    2답변

    에서 나는 다음의 OpenMP 코드를 #pragma omp parallel shared(S2,nthreads,chunk) private(a,b,tid) { tid = omp_get_thread_num(); if (tid == 0) { nthreads = omp_get_num_threads();

    6

    1답변

    OCaml 소스 코드로 OpenMP를 사용할 수 있다면 누구에게 알 수 있습니까? 또는 OCaml과 호환되는 다른 응용 프로그램/작업 환경으로 여러 코어를 사용하는 병렬 프로그램을 실행할 수 있습니까? 그렇다면 어떻게됩니까? 쉬운 예가 있습니까?

    3

    1답변

    그래서 여기에 코드입니다 : 세드릭 #pragma omp parallel private (myId) { set_affinity(); myId = omp_get_thread_num(); if (myId<myConstant) { #pragma omp for schedule(static,1) for(co

    1

    4답변

    다음 C 코드에서 중첩 루프에서 OpenMP를 사용하고 있습니다. 경쟁 조건이 발생하기 때문에, 나는 마지막에 원자 작업을 수행 할 : double mysumallatomic() { double S2 = 0.; #pragma omp parallel for shared(S2) for(int a=0; a<128; a++){

    0

    2답변

    다음과 같은 결과 (직렬 대 OpenMP)가 발생하는 이유는 무엇입니까? 지금은 아마도 루프가 스레드에 대해 너무 "커"다고 생각할 수 있습니다. 아마도 다른 방법으로 쓰는 것이 좋지만 확실하지는 않습니다. 힌트는 무엇입니까? 편집 : #pragma omp parallel for reduction(+:S2) 그리고 원자에 대한 필요가 없기 때문에이 빠르

    0

    2답변

    나는 C++ 수치 처리 프로그램을 가지고있다. 구조는 다음 데이터 입력, 데이터 준비 b) "큰"루프는 c) 두 경우 글로벌 및 로컬 데이터 (다른 많은 변수를 사용하는) ) 가공 후의 결과 및 연락 데이터 가장 집중적 인 부분은 "b"이며 기본적으로 루프입니다. 나는 클러스터에서 프로그램을 빠르게 할 필요가있다. 블레이드 25 개, 코어 4 개. 여기서

    3

    2답변

    난 그냥 다음 코드 (GCC 4.5.1에서) OpenMP를 컴파일하지 않는 것으로 나타났습니다 : struct job { unsigned busy_children; }; job* j = allocateJob(…); // … #pragma omp flush(j->busy_children) 컴파일러는 플러시 인수 목록에서 ->에 대해 불

    1

    2답변

    안녕하세요, 내 QT 응용 프로그램에서 루프를 병렬 처리하기 위해 OpenMP를 사용합니다. 루프에서 현재 QMainWindow의 진행률 값을 업데이트하고 싶습니다. 코드에 따라 내가 이렇게 노력하고 있어요 방법을 보여줍니다 여기 #ifdef OPENMP_ENABLE #pragma omp parallel for #endif for (int i = 0