diff --git a/CMakeLists.txt b/CMakeLists.txt index e9cbddd72a8ab8f0d77d4a20f1ee691f0da78b0e..6ff459f9f3af8cbeca3190e27568bc92c284acd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 ################################################################################ diff --git a/backend/BackendConnector.cpp b/backend/BackendConnector.cpp index bb03e6984dc402fe476fb4f35703cadfe87ae016..6abc3794b5322d1b877482e330e1da8e187df067 100644 --- a/backend/BackendConnector.cpp +++ b/backend/BackendConnector.cpp @@ -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;