OpenCL의 가변 길이 배열 계산

무료 URL

OpenCL (Xcode, Intel GPU)을 사용하고 있으며 이동 평균과 편차를 계산하는 커널을 구현하려고합니다. 다양한 길이의 여러 이중 배열을 커널에 전달하고 싶습니다. 구현이 가능합니까, 아니면 모든 배열이 같은 크기가되도록 더 작은 배열을 0으로 채워야합니까?

저는 OpenCL 및 GPGPU를 처음 사용하므로 명명법에 대한 저의 무지를 용서하십시오.

DarkZeros

모든 버퍼를 커널에 전달할 수 있습니다. 커널이 모든 버퍼를 사용할 필요는 없습니다. 예를 들어 커널이 버퍼를 줄이면 .NET을 사용하여 런타임에 작업 항목 (축소 할 항목)의 양을 쿼리 할 수 ​​있습니다 get_global_size(0). 그런 다음 적절한 매개 변수로 커널을 호출합니다.

예 (최적화되지 않음) :

__kernel reduce_step(__global float* data)
{
    int id = get_global_id(0);
    int size = get_global_size(0);
    int size2 = size/2;
    int size2p = (size+1)/2;
    if(id<size2) //Only reduce up to size2, the odd element will remain in place
       data[id] += data[id+size2p];
}

그러면 이렇게 부를 수 있습니다.

void reduce_me(std::vector<cl_float>& data){
    size_t size = data.size();

    //Copy to a buffer already created, equal or bigger size than data size
    // ... TODO, check sizes of buffer or change the buffer set to the kernel args.
    queue.enqueueWriteBuffer(buffer,CL_FALSE,0,sizeof(cl_float)*size,data.data());

    //Reduce until 1024
    while(size > 1024){
        queue.enqueueNDRangeKernel(reduce_kernel,cl::NullRange,cl::NDRange(size),cl::NullRange);
        size /= 2; 
    }

    //Read out and trim
    queue.enqueueReadBuffer(buffer,CL_TRUE,0,sizeof(cl_float)*size,data.data());
    data.resize(size);
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

numpy 배열에서 길이가 다른 값의 연속 발생 횟수 계산

분류에서Dev

Excel VBA를 사용하여 1 차원 배열의 가변 길이 문자열 사이에서 최대 길이 계산

분류에서Dev

cobol을 사용하여 변수의 길이 문자열 계산

분류에서Dev

TypeScript의 가변 길이 배열 튜플?

분류에서Dev

가변 길이의 정수 배열

분류에서Dev

가변 길이의 정수 배열

분류에서Dev

배열의 각 문자열 길이 계산

분류에서Dev

가변 길이 입력 / 출력 배열 처리, 조건 충족시 계산 종료 (경계층 계산)

분류에서Dev

`순열 xs`의`길이`계산

분류에서Dev

C의 가변 길이 열

분류에서Dev

mongodb-동일한 ID를 가진 배열 길이의 합계

분류에서Dev

D에서 변경 불가능한 길이의 가변 배열

분류에서Dev

JQ-JSON에서 각 배열의 길이를 계산하고 업데이트

분류에서Dev

중첩 배열의 $ size (길이)를 가져오고 집계를 사용하여 상위 개체에 저장된 값의 차이를 계산합니다.

분류에서Dev

일부 값이 변경된 경우 배열의 고정 합계 계산

분류에서Dev

.length는 배열 길이가 아니라 문자를 계산합니다.

분류에서Dev

매개 변수의 가변 길이 배열로 배열 요소 반환

분류에서Dev

가변 길이 배열의 이상한 출력?

분류에서Dev

합계가 0 인 가장 큰 부분 배열의 길이 찾기

분류에서Dev

JSON 배열의 길이 가져 오기

분류에서Dev

배열 사이의 거리 계산

분류에서Dev

차이 배열의 합 계산

분류에서Dev

배열의 1d 차이 계산

분류에서Dev

배열의 이중 값 계산

분류에서Dev

uproot에서 배열의 제로 패딩 가변 길이

분류에서Dev

C 언어의 가변 길이 배열 대안

분류에서Dev

C ++ 11의 가변 배열 길이 및 템플릿 입력

분류에서Dev

가변 길이 배열 및 c의 정적 선언

분류에서Dev

C에서 2D 가변 길이 배열의 구조

Related 관련 기사

  1. 1

    numpy 배열에서 길이가 다른 값의 연속 발생 횟수 계산

  2. 2

    Excel VBA를 사용하여 1 차원 배열의 가변 길이 문자열 사이에서 최대 길이 계산

  3. 3

    cobol을 사용하여 변수의 길이 문자열 계산

  4. 4

    TypeScript의 가변 길이 배열 튜플?

  5. 5

    가변 길이의 정수 배열

  6. 6

    가변 길이의 정수 배열

  7. 7

    배열의 각 문자열 길이 계산

  8. 8

    가변 길이 입력 / 출력 배열 처리, 조건 충족시 계산 종료 (경계층 계산)

  9. 9

    `순열 xs`의`길이`계산

  10. 10

    C의 가변 길이 열

  11. 11

    mongodb-동일한 ID를 가진 배열 길이의 합계

  12. 12

    D에서 변경 불가능한 길이의 가변 배열

  13. 13

    JQ-JSON에서 각 배열의 길이를 계산하고 업데이트

  14. 14

    중첩 배열의 $ size (길이)를 가져오고 집계를 사용하여 상위 개체에 저장된 값의 차이를 계산합니다.

  15. 15

    일부 값이 변경된 경우 배열의 고정 합계 계산

  16. 16

    .length는 배열 길이가 아니라 문자를 계산합니다.

  17. 17

    매개 변수의 가변 길이 배열로 배열 요소 반환

  18. 18

    가변 길이 배열의 이상한 출력?

  19. 19

    합계가 0 인 가장 큰 부분 배열의 길이 찾기

  20. 20

    JSON 배열의 길이 가져 오기

  21. 21

    배열 사이의 거리 계산

  22. 22

    차이 배열의 합 계산

  23. 23

    배열의 1d 차이 계산

  24. 24

    배열의 이중 값 계산

  25. 25

    uproot에서 배열의 제로 패딩 가변 길이

  26. 26

    C 언어의 가변 길이 배열 대안

  27. 27

    C ++ 11의 가변 배열 길이 및 템플릿 입력

  28. 28

    가변 길이 배열 및 c의 정적 선언

  29. 29

    C에서 2D 가변 길이 배열의 구조

뜨겁다태그

보관