cublasSetMatrix 및 cublasSetVector 대신 cudaMemCpy 사용

마이클 풀 리아

cudaMalloc / cudaMemcpy를 사용하여 장치에 행렬과 벡터를 할당하는 응용 프로그램이 있습니다. 행렬은 열 중심으로 정의됩니다. 이제 cublas 라이브러리 (cublasSgemv)의 함수를 사용하여 이들을 함께 곱하고 싶습니다. cublas API 함수를 사용하려면 cudaMalloc을 사용하여 행렬과 벡터의 중복을 할당하고 호스트에서 cublasSetMatrix / cublasSetVector로 초기화해야 할 것 같습니다. 이 모든 메모리를 복제하는 것은 비용이 많이 듭니다.

내 이해에 따르면 cublasSetMatrix / cublasSetVector 함수는 cudaMemCpy의 가벼운 래퍼입니다. cudaMemCpy로 초기화 된 배열에 대한 포인터를 cublas API 함수에 전달할 수 있는지 궁금합니다. 아니면 API가 인식하는 방식으로 배열을 가볍게 래핑하여 모든 메모리 중복을 피할 수 있습니까?

로버트 크로 벨라

예, cublasGet / SetMatrix 대신 cudaMemcpy를 사용할 수 있습니다. CUBLAS도 함께 작동합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cublasSetVector () 대 cudaMemcpy ()

분류에서Dev

ScrollView 및 ForEach 대신 목록 사용

분류에서Dev

왜 항상 사용해야하나요 || 대신 | 및 & 대신 &&?

분류에서Dev

C에서 scanf () 및 printf () 대신 read () 및 write () 사용

분류에서Dev

int 및 double 대신 short 및 long 사용 (C ++)

분류에서Dev

실제 값 대신 python 및 pandas 인쇄 색인 사용

분류에서Dev

대기 및 신호 방법을 사용한 동기화

분류에서Dev

JXTable : 전체 열 대신 특정 셀에 TableCellEditor 및 TableCellRenderer 사용

분류에서Dev

JXTable : 전체 열 대신 특정 셀에 TableCellEditor 및 TableCellRenderer 사용

분류에서Dev

기본 + 및-대신 이미지 사용 트리보기

분류에서Dev

풍부한 ctags 대신 universal-ctags 설치 및 사용

분류에서Dev

C #에서 switch 문 대신 enum 및 struct 사용

분류에서Dev

* args 및 ** kwargs를 함수의 인수 대신 사용

분류에서Dev

수신 및 발신 DTO들에 대한 모범 사례

분류에서Dev

Telnet 대신 SSH를 사용하여 연결 및 포트 가용성 테스트

분류에서Dev

cudaMemcpy 전송 종류 : 기본 대 HostToDevice / DeviceToHost

분류에서Dev

jQuery 대신 for 사용

분류에서Dev

커널 호출 사이에 cudaMemcpy 제거

분류에서Dev

Typescript @Types 사용 및 기대

분류에서Dev

Posix Semaphore에서 공유 메모리 사용 C에서 대기 및 신호

분류에서Dev

sub 및 mov 대신 push / pop을 사용하는 이유는 무엇입니까?

분류에서Dev

for 루프 대신 map () 사용 및 더 짧은 (더 나은) 코드 작성

분류에서Dev

대 시선 및 신뢰 구간에 사용자 정의 ggplot 범례 추가

분류에서Dev

C # 성능-IntPtr 및 Marshal 대신 안전하지 않은 포인터 사용

분류에서Dev

각 POST 및 수신에 대해 두 개의 동일한 클래스 사용-REST

분류에서Dev

php date-콜론 대신 "h"및 "m"문자열을 사용하는 방법?

분류에서Dev

중첩 및 다중 foreach 문 대신 LINQ 또는 Lambda를 사용하는 방법

분류에서Dev

ssh 대신 rsh를 사용하는 GNU 병렬 및 다중 노드

분류에서Dev

postfix 및 dovecot은 / var / spool / mail 대신 / root / Maildir을 사용합니다.

Related 관련 기사

  1. 1

    cublasSetVector () 대 cudaMemcpy ()

  2. 2

    ScrollView 및 ForEach 대신 목록 사용

  3. 3

    왜 항상 사용해야하나요 || 대신 | 및 & 대신 &&?

  4. 4

    C에서 scanf () 및 printf () 대신 read () 및 write () 사용

  5. 5

    int 및 double 대신 short 및 long 사용 (C ++)

  6. 6

    실제 값 대신 python 및 pandas 인쇄 색인 사용

  7. 7

    대기 및 신호 방법을 사용한 동기화

  8. 8

    JXTable : 전체 열 대신 특정 셀에 TableCellEditor 및 TableCellRenderer 사용

  9. 9

    JXTable : 전체 열 대신 특정 셀에 TableCellEditor 및 TableCellRenderer 사용

  10. 10

    기본 + 및-대신 이미지 사용 트리보기

  11. 11

    풍부한 ctags 대신 universal-ctags 설치 및 사용

  12. 12

    C #에서 switch 문 대신 enum 및 struct 사용

  13. 13

    * args 및 ** kwargs를 함수의 인수 대신 사용

  14. 14

    수신 및 발신 DTO들에 대한 모범 사례

  15. 15

    Telnet 대신 SSH를 사용하여 연결 및 포트 가용성 테스트

  16. 16

    cudaMemcpy 전송 종류 : 기본 대 HostToDevice / DeviceToHost

  17. 17

    jQuery 대신 for 사용

  18. 18

    커널 호출 사이에 cudaMemcpy 제거

  19. 19

    Typescript @Types 사용 및 기대

  20. 20

    Posix Semaphore에서 공유 메모리 사용 C에서 대기 및 신호

  21. 21

    sub 및 mov 대신 push / pop을 사용하는 이유는 무엇입니까?

  22. 22

    for 루프 대신 map () 사용 및 더 짧은 (더 나은) 코드 작성

  23. 23

    대 시선 및 신뢰 구간에 사용자 정의 ggplot 범례 추가

  24. 24

    C # 성능-IntPtr 및 Marshal 대신 안전하지 않은 포인터 사용

  25. 25

    각 POST 및 수신에 대해 두 개의 동일한 클래스 사용-REST

  26. 26

    php date-콜론 대신 "h"및 "m"문자열을 사용하는 방법?

  27. 27

    중첩 및 다중 foreach 문 대신 LINQ 또는 Lambda를 사용하는 방법

  28. 28

    ssh 대신 rsh를 사용하는 GNU 병렬 및 다중 노드

  29. 29

    postfix 및 dovecot은 / var / spool / mail 대신 / root / Maildir을 사용합니다.

뜨겁다태그

보관