1
0
mirror of https://github.com/xmrig/xmrig.git synced 2025-12-08 00:15:04 -05:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Tony Butler
e207a47d5b Merge 8f507b7d09 into 36fdfa2694 2025-03-26 09:32:33 +01:00
xmrig
36fdfa2694 Merge pull request #3646 from SChernykh/dev
Optimized autoconfig for AMD CPUs with < 2 MB L3 cache per thread
2025-03-22 18:36:09 +07:00
SChernykh
6cfc02d24f Optimized autoconfig for AMD CPUs with < 2 MB L3 cache per thread 2025-03-22 11:34:23 +01:00
Tony Butler
8f507b7d09 Fix minor leaks and some unintialized components (valgrind) 2023-07-12 02:06:53 -06:00
4 changed files with 14 additions and 6 deletions

View File

@@ -20,7 +20,7 @@ set(SOURCES_BACKEND_COMMON
src/backend/common/Workers.cpp
)
if (WITH_RANDOMX AND WITH_BENCHMARK)
if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
list(APPEND HEADERS_BACKEND_COMMON
src/backend/common/benchmark/Benchmark.h
src/backend/common/benchmark/BenchState_test.h

View File

@@ -320,8 +320,13 @@ void xmrig::HwlocCpuInfo::processTopLevelCache(hwloc_obj_t cache, const Algorith
L2 += l2->attr->cache.size;
L2_associativity = l2->attr->cache.associativity;
if (L3_exclusive && l2->attr->cache.size >= scratchpad) {
extra += scratchpad;
if (L3_exclusive) {
if (vendor() == VENDOR_AMD) {
extra += std::min<size_t>(l2->attr->cache.size, scratchpad);
}
else if (l2->attr->cache.size >= scratchpad) {
extra += scratchpad;
}
}
}
}

View File

@@ -259,7 +259,7 @@ if (WITH_KAWPOW OR WITH_GHOSTRIDER)
endif()
if (WITH_RANDOMX AND WITH_BENCHMARK)
if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
add_definitions(/DXMRIG_FEATURE_BENCHMARK)
list(APPEND HEADERS_BASE

View File

@@ -333,8 +333,8 @@ void benchmark()
const CnHash::AlgoVariant* av = Cpu::info()->hasAES() ? av_hw_aes : av_soft_aes;
uint8_t buf[80];
uint8_t hash[32 * 8];
uint8_t buf[80] = { 0 };
uint8_t hash[32 * 8] = { 0 };
LOG_VERBOSE("%24s | N | Hashrate", "Algorithm");
LOG_VERBOSE("-------------------------|-----|-------------");
@@ -540,10 +540,13 @@ HelperThread* create_helper_thread(int64_t cpu_index, int priority, const std::v
});
if (hwloc_bitmap_weight(helper_cpu_set) > 0) {
hwloc_bitmap_free(main_threads_set);
return new HelperThread(helper_cpu_set, priority, is8MB);
}
}
}
hwloc_bitmap_free(helper_cpu_set);
hwloc_bitmap_free(main_threads_set);
#endif
return nullptr;