mirror of
https://codeberg.org/wownero/RandomWOW
synced 2026-03-05 14:17:33 -05:00
Large page support for cache
Bug fixes
This commit is contained in:
29
src/main.cpp
29
src/main.cpp
@@ -162,7 +162,7 @@ void mine(RandomX::VirtualMachine* vm, std::atomic<int>& atomicNonce, AtomicHash
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
bool softAes, lightClient, genAsm, compiled, help, largePages, async;
|
||||
bool softAes, lightClient, genAsm, compiled, help, largePages, async, aesBench;
|
||||
int programCount, threadCount;
|
||||
readOption("--help", argc, argv, help);
|
||||
|
||||
@@ -179,29 +179,44 @@ int main(int argc, char** argv) {
|
||||
readIntOption("--nonces", argc, argv, programCount, 1000);
|
||||
readOption("--largePages", argc, argv, largePages);
|
||||
readOption("--async", argc, argv, async);
|
||||
readOption("--aesBench", argc, argv, aesBench);
|
||||
|
||||
if (genAsm) {
|
||||
generateAsm(programCount);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (softAes)
|
||||
std::cout << "Using software AES." << std::endl;
|
||||
|
||||
if(aesBench) {
|
||||
programCount *= 10;
|
||||
Stopwatch sw(true);
|
||||
if (softAes) {
|
||||
RandomX::aesBench<true>(programCount);
|
||||
}
|
||||
else {
|
||||
RandomX::aesBench<false>(programCount);
|
||||
}
|
||||
sw.stop();
|
||||
std::cout << "AES performance: " << programCount / sw.getElapsed() << " blocks/s" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::atomic<int> atomicNonce(0);
|
||||
AtomicHash result;
|
||||
std::vector<RandomX::VirtualMachine*> vms;
|
||||
std::vector<std::thread> threads;
|
||||
RandomX::dataset_t dataset;
|
||||
|
||||
if (softAes)
|
||||
std::cout << "Using software AES." << std::endl;
|
||||
std::cout << "Initializing..." << std::endl;
|
||||
|
||||
try {
|
||||
Stopwatch sw(true);
|
||||
if (softAes) {
|
||||
RandomX::datasetInitCache<true>(seed, dataset);
|
||||
RandomX::datasetInitCache<true>(seed, dataset, largePages);
|
||||
}
|
||||
else {
|
||||
RandomX::datasetInitCache<false>(seed, dataset);
|
||||
RandomX::datasetInitCache<false>(seed, dataset, largePages);
|
||||
}
|
||||
if (RandomX::trace) {
|
||||
std::cout << "Keys: " << std::endl;
|
||||
@@ -243,7 +258,7 @@ int main(int argc, char** argv) {
|
||||
RandomX::datasetInit<false>(cache, dataset, 0, RandomX::DatasetBlockCount);
|
||||
}
|
||||
}
|
||||
delete cache;
|
||||
RandomX::Cache::dealloc(cache, largePages);
|
||||
threads.clear();
|
||||
std::cout << "Dataset (4 GiB) initialized in " << sw.getElapsed() << " s" << std::endl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user