summaryrefslogtreecommitdiffstats
path: root/xmrstak/backend/nvidia/minethd.hpp
diff options
context:
space:
mode:
authorpsychocrypt <psychocryptHPC@gmail.com>2018-02-28 23:33:23 +0100
committerpsychocrypt <psychocryptHPC@gmail.com>2018-02-28 23:33:23 +0100
commit6488a0268706552b9320c9bbbc361222e9629eca (patch)
tree5344c985b398d3f178f474bb1174619104e27b19 /xmrstak/backend/nvidia/minethd.hpp
parent7b8506464ce9b099c0984d19978630a74aaf1e42 (diff)
downloadxmr-stak-6488a0268706552b9320c9bbbc361222e9629eca.zip
xmr-stak-6488a0268706552b9320c9bbbc361222e9629eca.tar.gz
CUDA: reduce startup time
- reduce startup time for multi gpu systems - initialize the GPU memory non concurrent
Diffstat (limited to 'xmrstak/backend/nvidia/minethd.hpp')
-rw-r--r--xmrstak/backend/nvidia/minethd.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/xmrstak/backend/nvidia/minethd.hpp b/xmrstak/backend/nvidia/minethd.hpp
index d13c868..fcd24fa 100644
--- a/xmrstak/backend/nvidia/minethd.hpp
+++ b/xmrstak/backend/nvidia/minethd.hpp
@@ -32,7 +32,8 @@ private:
typedef void (*cn_hash_fun)(const void*, size_t, void*, cryptonight_ctx*);
minethd(miner_work& pWork, size_t iNo, const jconf::thd_cfg& cfg);
-
+ void start_mining();
+
void work_main();
void consume_work();
@@ -44,8 +45,11 @@ private:
static miner_work oGlobalWork;
miner_work oWork;
- std::promise<void> order_fix;
- std::mutex thd_aff_set;
+ std::promise<void> numa_promise;
+ std::promise<void> thread_work_promise;
+
+ // block thread until all NVIDIA GPUs are initialized
+ std::future<void> thread_work_guard;
std::thread oWorkThd;
int64_t affinity;
OpenPOWER on IntegriCloud