diff options
-rw-r--r-- | .appveyor.yml | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu | 17 |
3 files changed, 15 insertions, 11 deletions
diff --git a/.appveyor.yml b/.appveyor.yml index b463d0d..c336842 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -29,4 +29,5 @@ test_script: - cd c:\xmr-stak\build\bin\Release - dir - copy C:\xmr-stak-dep\openssl\bin\* . -# - xmr-stak.exe --help + - set XMRSTAK_NOWAIT=1 + - xmr-stak.exe --help --noUAC diff --git a/CMakeLists.txt b/CMakeLists.txt index 9acee00..0fa831d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,11 @@ if(CUDA_ENABLE) endif() # add Volta support for CUDA >= 9.0 if(NOT CUDA_VERSION VERSION_LESS 9.0) - list(APPEND DEFAULT_CUDA_ARCH "70") + # Volta GPUs are currently not supported on MACOSX + # https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-general-known-issues + if(NOT APPLE) + list(APPEND DEFAULT_CUDA_ARCH "70") + endif() endif() set(CUDA_ARCH "${DEFAULT_CUDA_ARCH}" CACHE STRING "Set GPU architecture (semicolon separated list, e.g. '-DCUDA_ARCH=20;35;60')") diff --git a/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu b/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu index 734426c..d865e13 100644 --- a/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu +++ b/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu @@ -6,7 +6,6 @@ #include <vector> #include <cuda.h> #include <cuda_runtime.h> -#include <device_functions.hpp> #include <algorithm> #include "xmrstak/jconf.hpp" @@ -188,24 +187,24 @@ extern "C" int cryptonight_extra_cpu_init(nvid_ctx* ctx) return 0; } - cudaDeviceReset(); + CUDA_CHECK(ctx->device_id, cudaDeviceReset()); switch(ctx->syncMode) { case 0: - cudaSetDeviceFlags(cudaDeviceScheduleAuto); + CUDA_CHECK(ctx->device_id, cudaSetDeviceFlags(cudaDeviceScheduleAuto)); break; case 1: - cudaSetDeviceFlags(cudaDeviceScheduleSpin); + CUDA_CHECK(ctx->device_id, cudaSetDeviceFlags(cudaDeviceScheduleSpin)); break; case 2: - cudaSetDeviceFlags(cudaDeviceScheduleYield); + CUDA_CHECK(ctx->device_id, cudaSetDeviceFlags(cudaDeviceScheduleYield)); break; case 3: - cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync); + CUDA_CHECK(ctx->device_id, cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync)); break; }; - cudaDeviceSetCacheConfig(cudaFuncCachePreferL1); + CUDA_CHECK(ctx->device_id, cudaDeviceSetCacheConfig(cudaFuncCachePreferL1)); size_t hashMemSize; if(::jconf::inst()->IsCurrencyMonero()) @@ -464,9 +463,9 @@ extern "C" int cuda_get_deviceinfo(nvid_ctx* ctx) size_t totalMemory = 0; CUDA_CHECK(ctx->device_id, cudaMemGetInfo(&freeMemory, &totalMemory)); - cudaFree(tmp); + CUDA_CHECK(ctx->device_id, cudaFree(tmp)); // delete created context on the gpu - cudaDeviceReset(); + CUDA_CHECK(ctx->device_id, cudaDeviceReset()); ctx->total_device_memory = totalMemory; ctx->free_device_memory = freeMemory; |