2012-08-06 8 views

답변

3

Cuda 4.0이 릴리스 되었기 때문에 가능하지만 필요하지 않습니다. 이제 Cuda API는 스레드로부터 안전하므로 단일 호스트 스레드를 사용하여 여러 장치를 비동기식으로 관리 할 수 ​​있습니다.

실제로 여러 호스트 스레드를 사용하려는 경우 모든 호스트 라이브러리가 수행합니다. 성공적으로 pthreads, boost :: thread 및 리눅스의 핵심적인 운영체제를 Linux 및 OS X의 Cuda와 함께 사용했습니다.

+0

i 번째 CPU 스레드가 데이터의 i 번째 청크를 보내도록 i 번째 스레드로 CUDA 장치를 관리 할 수 ​​있습니까? i 번째 장치? –

+1

예, 특별한 것은 필요하지 않습니다. 주의해야 할 유일한 것은 각 스레드가 고유 한 GPU를 얻는 지 확인하는 것입니다. 이를 위해 마스터 스레드가 모든 장치를 열거하고 각 스레드에 장치 ID를 할당 및 브로드 캐스트하거나 TCC/Linux 드라이버에서 계산 단독 설정을 사용하여 드라이버가 자동으로 각 스레드에 장치를 할당하도록합니다. – talonmies

+0

TCC에서 연산 배타적 설정을 자세히 설명해 주시겠습니까? –

관련 문제