2013-09-10 17 views
7

Chcę użyć nvcc -ptx z wiersza poleceń systemu Windows, ale zawsze pojawia się ten komunikat o błędzie: nvcc: błąd krytyczny: plik konfiguracyjny Microsoft Visual Studio Nie można znaleźć "vcvars64.bat" do instalacji w "C: \ Program Files (x86) \ Microsoft Visual S tudio 11.0 \ VC \ bin /../ .. 'nvcc.exe linking błąd Microsoft Visual Studio plik konfiguracyjny "vcvars64.bat" nie mógł znaleźć

Używam vs express express wydanie. Jakie może być rozwiązanie?

+0

Czy Twój projekt ustawiony na 32-bitowe lub jest on ustawiony na 64-bit? –

Odpowiedz

1

Od NVIDIA CUDA Compiler Driver dokument

1.2. Obsługiwane kompilatory Host nvcc wykorzystuje następujące kompilatory dla kodu gospodarz kompilacji:

Na platformach Linux

GNU kompilator gcc i uzbroić-linux-gnueabihf-g ++ krzyżowej kompilacji dla architektury ARMv7

na platformach Windows

Microsoft Visual Studio kompilatora, cl na obu platformach, kompilator znaleźć na obecnym wykonanie wyszukiwania ścieżki będą stosowane, chyba że opcja nvcc -compiler-bindir jest określona (patrz złożyć d Specyfikacje ścieżek).

-2

Kiedy w projekcie przejdź do Właściwości Konfiguracja> CUDA C/C++> urządzenia i zmienić Generowanie kodu na następujący: compute_11, sm_11

+0

To nie naprawiło niczego dla mnie i ostrzega, że ​​są przestarzałe. – LawfulEvil

14

udało mi się rozwiązać problem i uczynić pracę z MS Visual Studio wyrazić 2012, oto co zrobiłem:

  1. zainstalowana MS Visual Studio 2012 express,
  2. zainstalowana cuda_5.5.20_winvista_win7_win8_general_64, najnowsza wersja z dnia 2014-01-16
  3. Z tego katalogu: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin, skopiowałem x86_amd64 na amd64
  4. W nowym katalogu: C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin \ amd64, Stworzyłem plik vcvars64.bat
  5. w vcvars64.bat plików, po prostu dodał: CALL setenv/64

Kompilacja pracował wielki:

C: \ CUDA> nvcc -o square square.cu Tworzenie biblioteki square.lib i object square.exp

C: \ CUDA> square.exe 0,000000 1,000000 4,000000 9,000000 16,000000 25,000000 36,000000 49,000000 64,000000 81,000000 100,000000 121,000000 144,000000 169,000000 196,000000 225,000000

+1

(Z pozoru bezcelowy) krok tworzenia kopii katalogu 'x86_amd64' i wywoływanie tej kopii' amd64' zrobił to za mnie. Nigdy bym tego nie odkrył (komunikat o błędzie NVCC nic o tym nie mówi - zamiast tego sugeruje, że szuka "vcvars64".bat' w katalogu podstawowym Visual Studio ...) – Marco13

+0

To również działało dla mnie, z wyjątkiem VS2010, nie musiałem dodawać folderu amd64 - było już tam, więc właśnie utworzyłem plik wsadowy tam i presto. –

+0

Pracował także dla mnie, najpierw testowałem to przez "nvcc?" co nie działa, ale proces kompilacji działał dla Cudy. – pm89