2016-12-21 3 views
0

CUDA 코드를 계측하는 데 사용할 수있는 NVlabs 프로젝트 SASSI에서 예제 코드를 빌드하고 실행하려고합니다. 그러나, 나는 심지어 포함 된 샘플 MakefilematrixMul.cu을 올바르게 빌드하고 실행하기 위해 고심 중이다.CUDA NVlabs SASSI 도구에 대한 예제를 빌드 할 수 없습니다.

--maxrregcount=16-rcd=true nvcc 플래그를 추가하려고했지만 실제 문제는 SASSI 라이브러리에 올바르게 연결하는 것입니다. 아래의 nvcc 출력에 나열된 모든 라이브러리 경로는 .so 파일이있는 실제 디렉토리로 해석됩니다.

모든 도움말 또는 디버깅 단계가 대단히 감사합니다.


$ make clean 

RM -f -f matrixMul *

$ make branch 

/usr/지방/sassi7 // 빈/NVCC -I./inc -c .o 인 -glink = "-wrap = exit"-lineinfo -Xptxas -sassi-inst-before = -Xlinker "-wrap = main"-Xlinker "-wrap = exit"-lineinfo -Xptxas = "cond-branches"-Xptxas --s 아씨 - 이전 - 인수 = "콘드 분기-정보"-g -O3 -dc -o matrixMul.o matrixMul.cu


* 이 * SASSI 계측 상세 * 이 설정을 위해 당신이 전달 * * 다음 속성을 가진 계측 라이브러리가 있는지 확인해야합니다. * - 16 개의 레지스터 만 사용하여 컴파일해야합니다! --maxrregcount NVCC 플래그이 * 단순히 컴파일 라이브러리를 달성하기 = 16 * - 그것은 다음과 같은 기능을 정의해야합니다 * 장치 무효 sassi_before_handler (SASSIBeforeParams *, SASSICondBranchParams *) *



* * SASSI 계측 정보 * * 당신이 전달 된 설정을 위해, 당신은 당신이 이 있는지 확인해야합니다 * 다음과 같은 소품과 장비 라이브러리 erties : * - 16 개의 레지스터 만 사용하여 컴파일해야합니다! * 장치 무효 sassi_before_handler (SASSIBeforeParams *, SASSICondBranchParams *) * **** : 그것은 다음과 같은 기능을 정의해야합니다 -이 을 수행하려면 * 단순히 --maxrregcount = 16 *의 NVCC 플래그 라이브러리를 컴파일 *************************************************** ***********************/usr/local/sassi7 // bin/nvcc -o matrixMul matrixMul.o -gencode arch = compute_35, code = sm_35 -gencode arch = compute_50, code = sm_50 -Xlinker "-wrap = main"-Xlinker "-wrap = exit"-L ../ instlibs/lib -lbranch -L/usr/local/sassi7 // extras/CUPTI/lib64 -lcupti -lcudadevrt -Xlinker -rpath,/usr/local/sassi7 // extras/CUPTI/lib64 -L/lib -lboost_regex -lcrypto -Xlinker -rpath,/lib nvlink 오류 : 정의되지 않은 참조'_Z20sassi_before_handlerP17SASSIBeforeParamsP21SASSICondBranchParams' in 'matrixMul.이 솔루션은, 부스트를 설치했다 instlibs/env.mk에서 적절한 경로를 설정 * [matrixMul] 오류 255 **

답변

1

및 예제 코드를 작성하기 전에 instlibs/에서 make all을 실행 O '합니다. 경로가 올바르게 설정되었지만 필수 SASSI 라이브러리가 모두 생성되지 않았습니다.

관련 문제