summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml3
-rw-r--r--CMakeLists.txt10
-rw-r--r--xmrstak/backend/nvidia/nvcc_code/cuda_core.cu2
-rw-r--r--xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu17
-rw-r--r--xmrstak/cli/cli-miner.cpp1
-rw-r--r--xmrstak/misc/console.cpp5
-rw-r--r--xmrstak/net/socket.cpp2
7 files changed, 26 insertions, 14 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 15c8c8b..8bf8e8c2 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')")
@@ -191,7 +195,9 @@ if(CUDA_ENABLE)
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}" "-D_MWAITXINTRIN_H_INCLUDED")
endif()
- if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" AND CUDA_VERSION VERSION_EQUAL 9.0)
+ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" AND
+ (CUDA_VERSION VERSION_EQUAL 9.0 OR CUDA_VERSION VERSION_EQUAL 9.1)
+ )
# workaround find_package(CUDA) is using the wrong path to the CXX host compiler
# overwrite the CUDA host compiler variable with the used CXX MSVC
set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE FILEPATH "Host side compiler used by NVCC" FORCE)
diff --git a/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu b/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
index 0b175b5..15a6f36 100644
--- a/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
+++ b/xmrstak/backend/nvidia/nvcc_code/cuda_core.cu
@@ -19,7 +19,7 @@ extern "C" void compat_usleep(uint64_t waitTime)
HANDLE timer;
LARGE_INTEGER ft;
- ft.QuadPart = -(10*waitTime); // Convert to 100 nanosecond interval, negative value indicates relative time
+ ft.QuadPart = -10ll * int64_t(waitTime); // Convert to 100 nanosecond interval, negative value indicates relative time
timer = CreateWaitableTimer(NULL, TRUE, NULL);
SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0);
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;
diff --git a/xmrstak/cli/cli-miner.cpp b/xmrstak/cli/cli-miner.cpp
index 6da0855..828f714 100644
--- a/xmrstak/cli/cli-miner.cpp
+++ b/xmrstak/cli/cli-miner.cpp
@@ -51,6 +51,7 @@
#ifdef _WIN32
# define strcasecmp _stricmp
+# include <windows.h>
#endif // _WIN32
void do_benchmark();
diff --git a/xmrstak/misc/console.cpp b/xmrstak/misc/console.cpp
index 980760e..de5eed3 100644
--- a/xmrstak/misc/console.cpp
+++ b/xmrstak/misc/console.cpp
@@ -211,6 +211,11 @@ void printer::print_str(const char* str)
std::unique_lock<std::mutex> lck(print_mutex);
fputs(str, stdout);
+ if (b_flush_stdout)
+ {
+ fflush(stdout);
+ }
+
if(logfile != nullptr)
{
fputs(str, logfile);
diff --git a/xmrstak/net/socket.cpp b/xmrstak/net/socket.cpp
index 7079205..e19d1d4 100644
--- a/xmrstak/net/socket.cpp
+++ b/xmrstak/net/socket.cpp
@@ -188,7 +188,7 @@ void tls_socket::print_error()
if(buf == nullptr)
{
if(jconf::inst()->TlsSecureAlgos())
- pCallback->set_socket_error("Unknown TLS error. Secure TLS maybe unspported, try setting tls_secure_algo to false.");
+ pCallback->set_socket_error("Unknown TLS error. Secure TLS maybe unsupported, try setting tls_secure_algo to false.");
else
pCallback->set_socket_error("Unknown TLS error.");
}
OpenPOWER on IntegriCloud