gpgpu

    0

    1답변

    CUDA에서 커널을 시작할 스트림을 지정해야합니다. 커널은 커널 코드에 정의 된 크기의 공유 메모리를 사용합니다. static const int cBlockSize = 256; __global__ fooKernel(void* param) { __shared__ uint32_t words[cBlockSize/16]; // impleme

    -3

    1답변

    다른 CPU 스레드에서 다른 CUDA 스트림을 사용하는 프로그램을 구현했습니다. 메모리 복사는 해당 스트림을 사용하여 cudaMemcpyAsync을 통해 구현됩니다. 커널 시작은 또한 이러한 스트림을 사용합니다. 이 프로그램은 배정도 연산을 수행하고 있습니다. 그러나이 문제가 범인이라고 생각합니다. 그러나, cuBlas는 double의 행렬 곱셈에 대해 7

    2

    1답변

    this answer에 대한 후속 질문입니다. 나는 계산을 병렬화하고 성능을 높이기 위해 for 루프를 CPU에서 실행중인 커널 함수로 대체하려고합니다. 내 기능은 기본적으로 회선입니다. 반복적으로 입력 배열 값 (데이터는 AVCaptureSession에서 파생 됨)에 대한 새 데이터를 반복적으로 수신하므로 newBufferWithBytesNoCopy:le

    2

    1답변

    그래서 OpenCL 프로그램을 GeForce GT 610에서 실행하고 있습니다. CUDA가 더 나은 대안이 될 것이라는 것을 알고 있으며 나중에 CUDA 버전의 코드를 작성할 수 있습니다. 그러나 OpenCL에서 작성 중임을 알고 있기 때문에 AMD 그래픽 카드에서 실행할 수 있습니다. 초기화하는 동안 실행할 장치를 선택합니다. 다음은이 단계에서 내 프로그

    2

    2답변

    저는 매우 효율적으로 압축 된 24bpp RGB 이미지를 32bpp RGBA로 압축하려고합니다. 나는 Accelerate.framework에서 vImageConvert_RGB888toRGBA8888을 사용해 보았지만, Metal에서 계산 커널을 사용하면 더 빠른 방법이 있는지 궁금해하고있었습니다. 메탈에서 몇 가지 다른 방법을 시도했지만 결과는 Accele

    0

    1답변

    크기가 2^L 인 정렬되지 않은 1D 배열에서 특정 값을 검색하기 위해 GPU를 사용한다고 가정합니다. 여기서 L은 양의 정수입니다. 배열의 모든 값은 고유입니다. 병렬 축소 (핑퐁 기술)를 사용하여 검색 결과를 단일 번호로 줄일 수 있습니까? 내 직관은 가능하다고 말하지만 시작할 방법을 모릅니다. 누구든지 나를 도울 수 있습니까? 나는 며칠 동안 그것에

    1

    1답변

    다른 커널 구현을 비교하기 위해 clock()을 사용하고 싶습니다. 간단한 SAXPY 예제에서 구현하려고 시도했지만 제로 클록주기가 발생하지만 이는 거의 없습니다. 이미 clock()을 구현하는 방법에 대한 몇 가지 예제를 발견했습니다. here 및 here. 하지만 어떻게 든 내 코드로의 전송이 작동하지 않습니다. /* SAXPY code example

    1

    1답변

    2 차원 배열이 MxN인데, N은 2의 거듭 제곱이고 M은 2의 거듭 제곱이 아닌 임의의 정수입니다. 예를 들어 배열 A의 크기는 200x32 일 수 있습니다. 배열의 행 전체에서 축소 (추가) 연산을 수행하여 배열 A를 크기 1x32로 줄이려고합니다. 대부분의 감소는 Blelloch/Hillis 스캔 알고리즘을 사용하여 연속 요소를 추가하여 배열을 단일

    0

    1답변

    Tesla k40c gpu를 사용하고 있습니다. 난에 다음 코드를 실행 : 나는 다음과 같은 오류 가지고 #define gpuErrchk(ans) { gpuAssert((ans), __FILE__, __LINE__); } inline void gpuAssert(cudaError_t code, const char *file, int line, bool ab

    0

    1답변

    해싱을 수행 할 CUDA 커널을 작성 중입니다. 일단 입력을 얻으면 먼저 미리 정의 된 해시 버킷 크기로 해싱을 시도하고 오버플로가 발생하면 해싱 중에 더 큰 버킷 크기를 사용하여 해싱을 다시 수행해야합니다. 그래서 버킷 오버 플로우가 발생하면 호스트 코드에 오류를보고 할 수있는 내장 된 cuda 함수가 있는지 궁금합니다. 미리 정의 된 메모리 위치에 무언