mirror of
https://github.com/jwinterm/xmr-stak.git
synced 2026-10-23 06:38:43 +02:00
add option to disable CPU backend
This commit is contained in:
+11
-2
@@ -43,7 +43,7 @@ option(CMAKE_LINK_STATIC "link as much as possible libraries static" OFF)
|
||||
#option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA runtime library if available" OFF)
|
||||
#set(CUDA_USE_STATIC_CUDA_RUNTIME OFF CACHE BOOL "Use the static version of the CUDA runtime library if available" FORCE)
|
||||
|
||||
option(CUDA_ENABLE "Enable or disable NVIDIA CUDA support" ON)
|
||||
option(CUDA_ENABLE "Enable or disable CUDA support (NVIDIA backend)" ON)
|
||||
if(CUDA_ENABLE)
|
||||
find_package(CUDA 7.5 QUIET)
|
||||
|
||||
@@ -155,7 +155,7 @@ list(APPEND CMAKE_PREFIX_PATH "$ENV{CMAKE_PREFIX_PATH}")
|
||||
# Find OpenCL
|
||||
###############################################################################
|
||||
|
||||
option(OpenCL_ENABLE "Enable or disable the requirement of hwloc" ON)
|
||||
option(OpenCL_ENABLE "Enable or disable OpenCL spport (AMD GPU support)" ON)
|
||||
if(OpenCL_ENABLE)
|
||||
find_package(OpenCL QUIET)
|
||||
if(OpenCL_FOUND)
|
||||
@@ -169,6 +169,15 @@ else()
|
||||
add_definitions("-DCONF_NO_OPENCL")
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# CPU backend
|
||||
###############################################################################
|
||||
|
||||
option(CPU_ENABLE "Enable or disable CPU support" ON)
|
||||
if(NOT CPU_ENABLE)
|
||||
add_definitions("-DCONF_NO_CPU")
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
# Find PThreads
|
||||
################################################################################
|
||||
|
||||
@@ -62,11 +62,6 @@ std::vector<IBackend*>* BackendConnector::thread_starter(miner_work& pWork)
|
||||
|
||||
std::vector<IBackend*>* pvThreads = new std::vector<IBackend*>;
|
||||
|
||||
auto cpuThreads = cpu::minethd::thread_starter(static_cast<uint32_t>(pvThreads->size()), pWork);
|
||||
pvThreads->insert(std::end(*pvThreads), std::begin(cpuThreads), std::end(cpuThreads));
|
||||
if(cpuThreads.size() == 0)
|
||||
printer::inst()->print_msg(L0, "WARNING: backend CPU disabled.");
|
||||
|
||||
#ifndef CONF_NO_CUDA
|
||||
Plugin nvidiaPlugin("NVIDIA", "libxmrstak_cuda_backend");
|
||||
std::vector<IBackend*>* nvidiaThreads = nvidiaPlugin.startBackend(static_cast<uint32_t>(pvThreads->size()), pWork);
|
||||
@@ -82,6 +77,13 @@ std::vector<IBackend*>* BackendConnector::thread_starter(miner_work& pWork)
|
||||
if(amdThreads->size() == 0)
|
||||
printer::inst()->print_msg(L0, "WARNING: backend AMD disabled.");
|
||||
#endif
|
||||
|
||||
#ifndef CONF_NO_CPU
|
||||
auto cpuThreads = cpu::minethd::thread_starter(static_cast<uint32_t>(pvThreads->size()), pWork);
|
||||
pvThreads->insert(std::end(*pvThreads), std::begin(cpuThreads), std::end(cpuThreads));
|
||||
if(cpuThreads.size() == 0)
|
||||
printer::inst()->print_msg(L0, "WARNING: backend CPU disabled.");
|
||||
#endif
|
||||
|
||||
GlobalStates::iThreadCount = pvThreads->size();
|
||||
return pvThreads;
|
||||
|
||||
Reference in New Issue
Block a user