openMP는 동일한 시드로 다른 난수를 생성합니다.

사용자 3159019

나는 openMP를 처음 접했고, 내 프로그램에서 복잡한 시뮬레이션이 필요하고, 결과를 반복하기 위해 각 시뮬레이션에 대한 시드가 설정되지만 openMP를 구현할 때 실행할 때마다 다른 결과가 생성됩니다. 그래서 다음과 같이 문제를 확인하는 간단한 예제를 작성하고 매번 다른 결과를 생성했습니다.

#include <iostream>
#include <omp.h>
using namespace std;


int main () {

double A[10];

#pragma omp parallel for
for( int i=0;i<10;i++){
    srand(i+1);
    int m = rand()%100;
    A[i] = m;
}

cout<<"A= \n";

for(int i=0;i<10;i++){
    cout<<i<<" "<<A[i]<<" \n";
}
   return 0;
}

두 번 실행하면 결과는 다음과 같습니다. A = 0 86 1 25 2 78 3 1 4 46 5 95 6 77 7 83 8 1598

및 A = 0 15 1 41 2 65 3 1 4 75 5 85 6 95 7 83 8 74 9 8

대단히 감사합니다!

퍼프

rand ()는 정적 상태를 사용하며 스레드로부터 안전하지 않습니다. 스레드로부터 안전한 다른 PRNG를 사용해야합니다. Monte-Carlo 통합을위한 스레드 안전 난수 생성을 참조하십시오. 또는 PRNG가 스레드로부터 안전해야합니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C 난수 생성기는 때때로 동일한 숫자를 생성합니다.

분류에서Dev

난수 생성기는 Android에서 동일한 숫자를 생성합니다.

분류에서Dev

자바 스크립트 : 난수 생성기는 항상 동일한 숫자를 표시합니다.

분류에서Dev

ECB 모드의 CryptoJS AES 암호화는 동일한 매개 변수로 다른 결과를 생성합니다.

분류에서Dev

ECB 모드의 CryptoJS AES 암호화는 동일한 매개 변수로 다른 결과를 생성합니다.

분류에서Dev

내 파이썬 난수는 동일한 결과를 생성합니다

분류에서Dev

다른 컨텍스트에서 실행되는 동일한 코드가 다른 결과를 생성합니다.

분류에서Dev

knitr에 의해 생성 된 PDF / Tex 파일은 콘솔에서 동일한 코드로 생성 된 것과 다른 난수를 포함합니다.

분류에서Dev

pyspark. 난수를 생성하는 변환기는 항상 동일한 숫자를 생성합니다.

분류에서Dev

동일한 시드를 가진 rand () 함수가 다른 PC에서 동일한 난수를 제공합니까?

분류에서Dev

Cakephp Auth는 항상 로그인시 동일한 해시를 생성합니다.

분류에서Dev

Openmp의 감소는 내 코드에서 동일한 수의 스레드로 다른 결과를 반환합니다.

분류에서Dev

내 난수 생성기 함수가 동일한 번호를 생성합니다.

분류에서Dev

동일한 시드를 사용하여 코드의 다른 부분에서 C ++-11에서 난수 생성

분류에서Dev

의사 난수 생성기는 매번 동일한 비트를 반환합니다.

분류에서Dev

PHP는 다른 값으로 동일한 변수를 표시합니다.

분류에서Dev

동일한 테이블에있는 다른 열의 조합 인 열로 TABLE을 생성 할 수 있습니까?

분류에서Dev

SQLAlchemy는 생성시 동일한 기본 ID를 푸시합니다.

분류에서Dev

Shuffle Array 함수는 동일한 결과를 생성합니다.

분류에서Dev

스키마 수준에서 기본 난수를 생성하는 Mongodb는 동일한 숫자를 생성합니다.

분류에서Dev

난수에 대한 난수 시드를 생성하는 방법

분류에서Dev

동일한 GUID가 다른 해시 코드를 생성 할 수 있습니까?

분류에서Dev

다른 스레드로 동일한 번호를 생성하는 이유는 무엇입니까?

분류에서Dev

다른 스레드로 동일한 번호를 생성하는 이유는 무엇입니까?

분류에서Dev

DEC 암호화는 각 프로그램 시작 후 동일한 결과를 생성합니다.

분류에서Dev

동일한 View Controller를 다른 정보로 다시로드

분류에서Dev

PostgreSQL의 UPDATE는 동일한 UUID를 생성합니다.

분류에서Dev

Ruby는 올바른 경로를 생성하지만 브라우저는 "뭔가 잘못되었습니다"라고 말합니다. 수동 "Enter"는 동일한 경로에서 작동합니다.

분류에서Dev

Material-UI 프로덕션 빌드는 개발과 다른 스타일 주문 정의를 생성합니다.

Related 관련 기사

  1. 1

    C 난수 생성기는 때때로 동일한 숫자를 생성합니다.

  2. 2

    난수 생성기는 Android에서 동일한 숫자를 생성합니다.

  3. 3

    자바 스크립트 : 난수 생성기는 항상 동일한 숫자를 표시합니다.

  4. 4

    ECB 모드의 CryptoJS AES 암호화는 동일한 매개 변수로 다른 결과를 생성합니다.

  5. 5

    ECB 모드의 CryptoJS AES 암호화는 동일한 매개 변수로 다른 결과를 생성합니다.

  6. 6

    내 파이썬 난수는 동일한 결과를 생성합니다

  7. 7

    다른 컨텍스트에서 실행되는 동일한 코드가 다른 결과를 생성합니다.

  8. 8

    knitr에 의해 생성 된 PDF / Tex 파일은 콘솔에서 동일한 코드로 생성 된 것과 다른 난수를 포함합니다.

  9. 9

    pyspark. 난수를 생성하는 변환기는 항상 동일한 숫자를 생성합니다.

  10. 10

    동일한 시드를 가진 rand () 함수가 다른 PC에서 동일한 난수를 제공합니까?

  11. 11

    Cakephp Auth는 항상 로그인시 동일한 해시를 생성합니다.

  12. 12

    Openmp의 감소는 내 코드에서 동일한 수의 스레드로 다른 결과를 반환합니다.

  13. 13

    내 난수 생성기 함수가 동일한 번호를 생성합니다.

  14. 14

    동일한 시드를 사용하여 코드의 다른 부분에서 C ++-11에서 난수 생성

  15. 15

    의사 난수 생성기는 매번 동일한 비트를 반환합니다.

  16. 16

    PHP는 다른 값으로 동일한 변수를 표시합니다.

  17. 17

    동일한 테이블에있는 다른 열의 조합 인 열로 TABLE을 생성 할 수 있습니까?

  18. 18

    SQLAlchemy는 생성시 동일한 기본 ID를 푸시합니다.

  19. 19

    Shuffle Array 함수는 동일한 결과를 생성합니다.

  20. 20

    스키마 수준에서 기본 난수를 생성하는 Mongodb는 동일한 숫자를 생성합니다.

  21. 21

    난수에 대한 난수 시드를 생성하는 방법

  22. 22

    동일한 GUID가 다른 해시 코드를 생성 할 수 있습니까?

  23. 23

    다른 스레드로 동일한 번호를 생성하는 이유는 무엇입니까?

  24. 24

    다른 스레드로 동일한 번호를 생성하는 이유는 무엇입니까?

  25. 25

    DEC 암호화는 각 프로그램 시작 후 동일한 결과를 생성합니다.

  26. 26

    동일한 View Controller를 다른 정보로 다시로드

  27. 27

    PostgreSQL의 UPDATE는 동일한 UUID를 생성합니다.

  28. 28

    Ruby는 올바른 경로를 생성하지만 브라우저는 "뭔가 잘못되었습니다"라고 말합니다. 수동 "Enter"는 동일한 경로에서 작동합니다.

  29. 29

    Material-UI 프로덕션 빌드는 개발과 다른 스타일 주문 정의를 생성합니다.

뜨겁다태그

보관