summaryrefslogtreecommitdiffstats
path: root/xmrstak/backend/nvidia/minethd.cpp
diff options
context:
space:
mode:
authorfireice-uk <fireice-uk@users.noreply.github.com>2017-10-27 20:37:12 +0100
committerGitHub <noreply@github.com>2017-10-27 20:37:12 +0100
commitc192b97b67bf648540bf058f21b7873bfe886a82 (patch)
treefe71edd305f523021c9038dab5595551c7e4c7e2 /xmrstak/backend/nvidia/minethd.cpp
parent91b307859ea97cc1abdb17da01b94919d3521803 (diff)
parent0117ed609e69af977fabaf9c28bbf8cf1300ee89 (diff)
downloadxmr-stak-c192b97b67bf648540bf058f21b7873bfe886a82.zip
xmr-stak-c192b97b67bf648540bf058f21b7873bfe886a82.tar.gz
Merge pull request #67 from psychocrypt/topic-aeon2
add Aeon support
Diffstat (limited to 'xmrstak/backend/nvidia/minethd.cpp')
-rw-r--r--xmrstak/backend/nvidia/minethd.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/xmrstak/backend/nvidia/minethd.cpp b/xmrstak/backend/nvidia/minethd.cpp
index cf58a21..0bc6214 100644
--- a/xmrstak/backend/nvidia/minethd.cpp
+++ b/xmrstak/backend/nvidia/minethd.cpp
@@ -32,6 +32,8 @@
#include "xmrstak/jconf.hpp"
#include "xmrstak/misc/environment.hpp"
#include "xmrstak/backend/cpu/hwlocMemory.hpp"
+#include "xmrstak/backend/cryptonight.hpp"
+#include "xmrstak/misc/utility.hpp"
#include <assert.h>
#include <cmath>
@@ -208,7 +210,7 @@ void minethd::work_main()
uint64_t iCount = 0;
cryptonight_ctx* cpu_ctx;
cpu_ctx = cpu::minethd::minethd_alloc_ctx();
- cn_hash_fun hash_fun = cpu::minethd::func_selector(::jconf::inst()->HaveHardwareAes(), true /*bNoPrefetch*/);
+ cn_hash_fun hash_fun = cpu::minethd::func_selector(::jconf::inst()->HaveHardwareAes(), true /*bNoPrefetch*/, ::jconf::inst()->IsCurrencyMonero());
uint32_t iNonce;
globalStates::inst().iConsumeCnt++;
@@ -218,6 +220,9 @@ void minethd::work_main()
printer::inst()->print_msg(L0, "Setup failed for GPU %d. Exitting.\n", (int)iThreadNo);
std::exit(0);
}
+
+ bool mineMonero = strcmp_i(::jconf::inst()->GetCurrency(), "monero");
+ bool useAEON = strcmp_i(::jconf::inst()->GetCurrency(), "aeon");
while (bQuit == 0)
{
@@ -256,7 +261,18 @@ void minethd::work_main()
uint32_t foundCount;
cryptonight_extra_cpu_prepare(&ctx, iNonce);
- cryptonight_core_cpu_hash(&ctx);
+#ifndef CONF_NO_MONERO
+ if(mineMonero)
+ {
+ cryptonight_core_cpu_hash<MONERO_ITER, MONERO_MASK, 19>(&ctx);
+ }
+#endif
+#ifndef CONF_NO_AEON
+ if(useAEON)
+ {
+ cryptonight_core_cpu_hash<MONERO_ITER, MONERO_MASK, 18>(&ctx);
+ }
+#endif
cryptonight_extra_cpu_final(&ctx, iNonce, oWork.iTarget, &foundCount, foundNonce);
for(size_t i = 0; i < foundCount; i++)
OpenPOWER on IntegriCloud