Win 10+VS 2017 새 CUDA 프로젝트 설정 튜 토리 얼

5414 단어 Win10vs2017CUDA
본 고 는 CUDA 프로젝트 설정 튜 토리 얼 을 기록 하여 참고 가치 가 있 습 니 다.관심 있 는 친구 들 은 참고 하 시기 바 랍 니 다.
새 항목
VS 2017→새 항목→Win 32 콘 솔 프로그램→'빈 항목'연결 열기
2.설정 관리자 플랫폼 유형 조정
오른쪽 키 항목→속성→설정 관리자→모두"x64"로 변경

3.생 성 속성 설정
오른쪽 키 항목→의존 항목 생 성→사용자 정의 생 성→"CUDA 9.0XXX"선택

기본 라 이브 러 리 디 렉 터 리 설정
메모:다음 단계 에 나타 날 디 렉 터 리 주 소 는 현재 CUDA 버 전 및 설치 경로 에 따라 달라 집 니 다.
오른쪽 키 항목→속성→설정 속성→VC+디 렉 터 리→디 렉 터 리 포함,다음 디 렉 터 리 추가:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\common\inc
...→라 이브 러 리 디 렉 터 리,다음 디 렉 터 리 추가:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\common\lib\x64

5.CUDA 정적 링크 라 이브 러 리 경로 설정
오른쪽 키 항목→속성→설정 속성→링크 기→일반→추가 라 이브 러 리 디 렉 터 리,다음 디 렉 터 리 추가:
$(CUDA_PATH_V9_0)\lib\$(Platform)

6.CUDA 정적 링크 라 이브 러 리 선택
오른쪽 키 항목→속성→설정 속성→링크 기→입력→추가 의존 항목,다음 라 이브 러 리 추가:
cublas.lib;cublas_device.lib;cuda.lib;cudadevrt.lib;cudart.lib;cudart_static.lib;cufft.lib;cufftw.lib;curand.lib;cusolver.lib;cusparse.lib;nppc.lib;nppial.lib;nppicc.lib;nppicom.lib;nppidei.lib;nppif.lib;nppig.lib;nppim.lib;nppist.lib;nppisu.lib;nppitc.lib;npps.lib;nvblas.lib;nvcuvid.lib;nvgraph.lib;nvml.lib;nvrtc.lib;OpenCL.lib;
"세 번 째"에 추 가 된 라 이브 러 리 디 렉 터 리"C:\Program Files\NVIDIA GPU Computing Toolkit\\CUDA\v 9.0\lib\x64"의 라 이브 러 리 입 니 다!

주의:
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
이 창고 들 은 원래 있 었 다!
7.원본 파일 스타일 설정
원본 파일 오른쪽 단추→추 가→새 항목→"CUDA C/C++File"선택
"xxx.cu"원본 파일→속성→설정 속성→일반→항목 유형→"CUDA C/C++"로 설정

8.테스트 프로그램

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>

int main() {
  int deviceCount;
  cudaGetDeviceCount(&deviceCount);

  int dev;
  for (dev = 0; dev < deviceCount; dev++)
  {
    int driver_version(0), runtime_version(0);
    cudaDeviceProp deviceProp;
    cudaGetDeviceProperties(&deviceProp, dev);
    if (dev == 0)
      if (deviceProp.minor = 9999 && deviceProp.major == 9999)
        printf("
"); printf("
Device%d:\"%s\"
", dev, deviceProp.name); cudaDriverGetVersion(&driver_version); printf("CUDA : %d.%d
", driver_version / 1000, (driver_version % 1000) / 10); cudaRuntimeGetVersion(&runtime_version); printf("CUDA : %d.%d
", runtime_version / 1000, (runtime_version % 1000) / 10); printf(" : %d.%d
", deviceProp.major, deviceProp.minor); printf("Total amount of Global Memory: %u bytes
", deviceProp.totalGlobalMem); printf("Number of SMs: %d
", deviceProp.multiProcessorCount); printf("Total amount of Constant Memory: %u bytes
", deviceProp.totalConstMem); printf("Total amount of Shared Memory per block: %u bytes
", deviceProp.sharedMemPerBlock); printf("Total number of registers available per block: %d
", deviceProp.regsPerBlock); printf("Warp size: %d
", deviceProp.warpSize); printf("Maximum number of threads per SM: %d
", deviceProp.maxThreadsPerMultiProcessor); printf("Maximum number of threads per block: %d
", deviceProp.maxThreadsPerBlock); printf("Maximum size of each dimension of a block: %d x %d x %d
", deviceProp.maxThreadsDim[0], deviceProp.maxThreadsDim[1], deviceProp.maxThreadsDim[2]); printf("Maximum size of each dimension of a grid: %d x %d x %d
", deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], deviceProp.maxGridSize[2]); printf("Maximum memory pitch: %u bytes
", deviceProp.memPitch); printf("Texture alignmemt: %u bytes
", deviceProp.texturePitchAlignment); printf("Clock rate: %.2f GHz
", deviceProp.clockRate * 1e-6f); printf("Memory Clock rate: %.0f MHz
", deviceProp.memoryClockRate * 1e-3f); printf("Memory Bus Width: %d-bit
", deviceProp.memoryBusWidth); } return 0; }
출력 결과:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기