내 질문의 기본 목표는 R
에서 Matrix
패키지를 사용하여 행렬 연산의 최상의 성능을 얻는 방법입니다. 특히 저는 연산 (곱셈)을 병렬화하고 CUDA GPU에서 연산을 사용하여 희소 행렬로 작업하려고합니다. 밀도 및 스파 스 및 패턴 모두 삼각형, 대칭, 대각선 행렬 포함 행렬 클래스의 R cran
R의 행렬 연산 : 병렬화, 희소 연산, GPU 계산
풍부한 계층 구조에서
Matrix
패키지의 문서에 따라 부품, 논리 및 숫자 항목. 'LAPACK'및 'SuiteSparse'라이브러리를 사용하여 이러한 행렬에 대한 수많은 메소드 및 연산.
SuiteSparse
덕분에 GPU (CUDA)를 사용하여 스파 스 매트릭스에서 기본 작업을 수행 할 수 있어야합니다. 특히 SuiteSparse의 문서에는 다음 목록이 나와 있습니다.
SSMULT 및 SFMULT : 스파 스 매트릭스 곱하기.
내 Gentoo에서 과 함께 suitesparse-4.2.1
을 설치했습니다. 또한 lapack
, scalapack
및 blas
이 있습니다. 다음과 같이 R sessionInfo()
본다 : GPU 사용을 허용해야 잠재적
export CHOLMOD_USE_GPU=1
내가 한 포럼에서 발견 :
R version 3.4.1 (2017-06-30)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Gentoo/Linux
Matrix products: default
BLAS: /usr/lib64/blas/reference/libblas.so.0.0.0
LAPACK: /usr/lib64/lapack/reference/liblapack.so.0.0.0
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Matrix_1.2-10
loaded via a namespace (and not attached):
[1] compiler_3.4.1 grid_3.4.1 lattice_0.20-35
가 나는 또한 환경 변수를 설정했습니다.
library(Matrix)
M1<-rsparsematrix(10000,10000,0.01)
M<-M1%*%t(M1)
R
가 suitesparse
기능을 무시하는 것처럼 GPU가 작동하지 않는 것 같습니다 : 나는 간단한 테스트를 실행할 때
기본적으로 모든하지만, 갈 등의 준비가 보인다.
나는 질문은 매우 광범위 알고 있지만 :- 사람은 아이디어가 있습니까
R
가suitesparse
작업 할 특정 엄격한 방법으로 컴파일 할 필요가있는 경우? Matrix
패키지가 병렬 처리 및 스파 스 작동 (GPU 사용)을 위해 모든 공유 라이브러리를 사용하는지 확인하는 방법은 무엇입니까?Matrix
패키지를 사용하여 CUDA/GPU 계산에서 행렬 연산을 실행할 수 있었다는 것을 누구도 확인할 수 있습니까?
스택 및 기타 포럼을 검토 한 경우이 질문은 중복되어서는 안됩니다.