나는 pycuda에서 작동하는 결투 방식의 결합 메소드를 가지고 있습니다. 그것은 하나의 gpuarray.dot()
호출 융합 지출까지 자기 기록 매트릭스 - 벡터 곱셈과 kernprof.py/line_profiler
으로 프로그램을 프로파일 링 pycuda 네이티브 gpuarray.dot
및 gpuarray.mul_add
기능pycuda.gpuarray.dot() 처음 호출시 매우 느림
대부분의 시간을 반환 (> 60 %)를 사용합니다. (약 2 초) 다음의 모든 전화는 gpuarray.dot()
입니다. 약 7 마이크로 초가 걸립니다. 모든 호출에는 동일한 유형의 입력 벡터가 있습니다 (크기 : 400 복식)
어떤 이유가 있습니까? 결국에는 상수 일 뿐이지 만 프로파일 링을 어렵게 만듭니다. 나는 pycuda 메일 링리스트에 질문을하고 싶었다. 그러나 @ gmail.com 주소로 구독 할 수 없었습니다. 누구나 이상한 .dot()
동작에 대한 설명이 있거나 해당 메일 링리스트에 가입 할 수 없다는 점을 알려주십시오.)
유휴 GPU에는 빈번하게 "시작 지연"이 관련되어 있습니다. 이는 슬립 모드에서 GPU를 깨우거나 GPU CUDA 컨텍스트 생성과 관련된 오버 헤드가 원인 일 수 있습니다. 이 상태를 완화시키는 다양한 방법이 있습니다. "첫 번째 호출"이 실제로 코드에서 GPU 컨텍스트를 만드는 첫 번째 작업이면 가능한 설명 일 수 있습니다. 당신이 신경 쓰는 첫 번째 작업에 앞서 임의의 루프를 앞두고 더미 GPU 작업을 시도해보십시오. –
FWIW, 목록에 가입하면 Gmail에서 작동합니다. 스팸 폴더에서 가입 확인 이메일을 확인하십시오. –
입력 해 주셔서 감사합니다. 예, 스팸 폴더에 있습니다. 내가 생각한 인터페이스를 처리 할 수없는 메일 제공 업체를 사용하면 안됩니다. 불편을 끼쳐 드려 대단히 죄송합니다. – user2267896