Improved HashFactor detection based on base variant
This commit is contained in:
parent
ff4058a2a9
commit
6d0ebc610b
3 changed files with 34 additions and 6 deletions
|
@ -94,13 +94,10 @@ void CpuImpl::optimizeParameters(size_t& threadsCount, size_t& hashFactor,
|
|||
|
||||
if (algo == Options::ALGO_CRYPTONIGHT_HEAVY || powVariant == POW_XFH) {
|
||||
maximumReasonableHashFactor = 3;
|
||||
} else if (algo == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
|
||||
if (m_asmOptimization == ASM_INTEL) {
|
||||
maximumReasonableHashFactor = 2;
|
||||
} else {
|
||||
maximumReasonableHashFactor = 1;
|
||||
}
|
||||
} else if (getBaseVariant(powVariant) == POW_V2 || getBaseVariant(powVariant) == POW_V4) {
|
||||
maximumReasonableHashFactor = 2;
|
||||
}
|
||||
|
||||
if (safeMode) {
|
||||
if (threadsCount > maximumReasonableThreadCount) {
|
||||
threadsCount = maximumReasonableThreadCount;
|
||||
|
|
|
@ -340,6 +340,8 @@ constexpr static const char *pow_variant_names[] = {
|
|||
"wow",
|
||||
"r",
|
||||
"xcash",
|
||||
"zls",
|
||||
"graft",
|
||||
"upx2"
|
||||
};
|
||||
|
||||
|
|
|
@ -184,5 +184,34 @@ inline PowVariant parseVariant(const std::string variant)
|
|||
return powVariant;
|
||||
}
|
||||
|
||||
inline PowVariant getBaseVariant(PowVariant powVariant)
|
||||
{
|
||||
switch (powVariant)
|
||||
{
|
||||
case POW_V1:
|
||||
case POW_XTL:
|
||||
case POW_MSR:
|
||||
case POW_RTO:
|
||||
case POW_HOSP:
|
||||
case POW_UPX:
|
||||
return POW_V1;
|
||||
|
||||
case POW_V2:
|
||||
case POW_TURTLE:
|
||||
case POW_DOUBLE:
|
||||
case POW_ZELERIUS:
|
||||
case POW_RWZ:
|
||||
case POW_UPX2:
|
||||
case POW_FAST_2:
|
||||
return POW_V2;
|
||||
|
||||
case POW_WOW:
|
||||
case POW_V4:
|
||||
return POW_V4;
|
||||
default:
|
||||
return POW_V0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif /* __POW_VARIANT_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue