Implemented VM mode for OpenCL RandomX.
This commit is contained in:
parent
4c90f9960e
commit
95daab4bc0
42 changed files with 450 additions and 165 deletions
|
@ -34,8 +34,7 @@ static_assert(RANDOMX_FLAG_LARGE_PAGES == 1, "RANDOMX_FLAG_LARGE_PAGES flag mism
|
|||
|
||||
|
||||
|
||||
xmrig::RxCache::RxCache(bool hugePages) :
|
||||
m_seed()
|
||||
xmrig::RxCache::RxCache(bool hugePages)
|
||||
{
|
||||
if (hugePages) {
|
||||
m_flags = RANDOMX_FLAG_JIT | RANDOMX_FLAG_LARGE_PAGES;
|
||||
|
@ -62,14 +61,14 @@ xmrig::RxCache::~RxCache()
|
|||
}
|
||||
|
||||
|
||||
bool xmrig::RxCache::init(const uint8_t *seed)
|
||||
bool xmrig::RxCache::init(const Buffer &seed)
|
||||
{
|
||||
if (isReady(seed)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
memcpy(m_seed, seed, sizeof(m_seed));
|
||||
randomx_init_cache(m_cache, m_seed, sizeof(m_seed));
|
||||
m_seed = seed;
|
||||
randomx_init_cache(m_cache, m_seed.data(), sizeof(m_seed));
|
||||
|
||||
m_initCount++;
|
||||
|
||||
|
@ -77,7 +76,7 @@ bool xmrig::RxCache::init(const uint8_t *seed)
|
|||
}
|
||||
|
||||
|
||||
bool xmrig::RxCache::isReady(const uint8_t *seed) const
|
||||
bool xmrig::RxCache::isReady(const Buffer &seed) const
|
||||
{
|
||||
return m_initCount && memcmp(m_seed, seed, sizeof(m_seed)) == 0;
|
||||
return !m_seed.isEmpty() && m_seed == seed;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue