finally push changes
parent
ca0f10b410
commit
053a34e30c
|
@ -1,4 +1,4 @@
|
|||
cmake-build*/
|
||||
\cmake-build*/
|
||||
build/
|
||||
out/
|
||||
./cmake-build*/
|
||||
|
@ -8,3 +8,4 @@ massif.*
|
|||
callgrind.*
|
||||
*.out.*
|
||||
heaptrack.*
|
||||
vgcore.*
|
||||
|
|
|
@ -27,7 +27,7 @@ macro(compile_options target_name)
|
|||
sanitizers(${target_name})
|
||||
endmacro()
|
||||
|
||||
project(blt-gp VERSION 0.3.0)
|
||||
project(blt-gp VERSION 0.3.4)
|
||||
|
||||
include(CTest)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,41 +0,0 @@
|
|||
Performance counter stats for './cmake-build-release/blt-symbolic-regression-example' (30 runs):
|
||||
|
||||
24,277,728,279 branches ( +- 19.01% ) (20.47%)
|
||||
76,457,616 branch-misses # 0.31% of all branches ( +- 17.97% ) (21.41%)
|
||||
14,213,192 cache-misses # 4.73% of all cache refs ( +- 14.24% ) (22.52%)
|
||||
300,581,049 cache-references ( +- 21.08% ) (23.68%)
|
||||
48,914,779,668 cycles ( +- 19.65% ) (24.80%)
|
||||
123,068,193,359 instructions # 2.52 insn per cycle ( +- 19.44% ) (25.09%)
|
||||
0 alignment-faults
|
||||
4,202 cgroup-switches ( +- 13.56% )
|
||||
115,962 faults ( +- 10.95% )
|
||||
871,101,993 ns duration_time ( +- 13.40% )
|
||||
11,507,605,674 ns user_time ( +- 3.56% )
|
||||
299,016,204 ns system_time ( +- 3.32% )
|
||||
41,446,831,795 L1-dcache-loads ( +- 19.28% ) (24.69%)
|
||||
167,603,194 L1-dcache-load-misses # 0.40% of all L1-dcache accesses ( +- 22.47% ) (23.95%)
|
||||
81,992,073 L1-dcache-prefetches ( +- 25.34% ) (23.24%)
|
||||
350,398,072 L1-icache-loads ( +- 15.30% ) (22.70%)
|
||||
909,504 L1-icache-load-misses # 0.26% of all L1-icache accesses ( +- 14.46% ) (22.18%)
|
||||
14,271,381 dTLB-loads ( +- 20.04% ) (21.90%)
|
||||
1,559,972 dTLB-load-misses # 10.93% of all dTLB cache accesses ( +- 14.74% ) (21.39%)
|
||||
246,888 iTLB-loads ( +- 21.69% ) (20.54%)
|
||||
403,152 iTLB-load-misses # 163.29% of all iTLB cache accesses ( +- 13.35% ) (19.94%)
|
||||
210,585,840 l2_request_g1.all_no_prefetch ( +- 20.07% ) (19.93%)
|
||||
115,962 page-faults ( +- 10.95% )
|
||||
115,958 page-faults:u ( +- 10.95% )
|
||||
3 page-faults:k ( +- 4.54% )
|
||||
41,209,739,257 L1-dcache-loads ( +- 19.02% ) (19.60%)
|
||||
181,755,898 L1-dcache-load-misses # 0.44% of all L1-dcache accesses ( +- 20.60% ) (20.01%)
|
||||
<not supported> LLC-loads
|
||||
<not supported> LLC-load-misses
|
||||
425,056,352 L1-icache-loads ( +- 12.27% ) (20.43%)
|
||||
1,076,486 L1-icache-load-misses # 0.31% of all L1-icache accesses ( +- 10.84% ) (20.98%)
|
||||
15,418,419 dTLB-loads ( +- 17.74% ) (21.24%)
|
||||
1,648,473 dTLB-load-misses # 11.55% of all dTLB cache accesses ( +- 13.11% ) (20.94%)
|
||||
325,141 iTLB-loads ( +- 26.87% ) (20.80%)
|
||||
459,828 iTLB-load-misses # 186.25% of all iTLB cache accesses ( +- 11.50% ) (20.34%)
|
||||
94,270,593 L1-dcache-prefetches ( +- 22.82% ) (20.09%)
|
||||
<not supported> L1-dcache-prefetch-misses
|
||||
|
||||
0.871 +- 0.117 seconds time elapsed ( +- 13.40% )
|
1374
dhat.out.293761
1374
dhat.out.293761
File diff suppressed because it is too large
Load Diff
|
@ -332,7 +332,7 @@ namespace blt::gp
|
|||
|
||||
template <typename... Operators, size_t... operator_ids>
|
||||
static void call_jmp_table_internal(size_t op, void* context, stack_allocator& write_stack, stack_allocator& read_stack,
|
||||
std::integer_sequence<size_t, operator_ids...>, Operators&... operators)
|
||||
std::integer_sequence<size_t, operator_ids...>, Operators&... operators)
|
||||
{
|
||||
if (op >= sizeof...(operator_ids))
|
||||
{
|
||||
|
@ -343,7 +343,7 @@ namespace blt::gp
|
|||
|
||||
template <typename... Operators>
|
||||
static void call_jmp_table(size_t op, void* context, stack_allocator& write_stack, stack_allocator& read_stack,
|
||||
Operators&... operators)
|
||||
Operators&... operators)
|
||||
{
|
||||
call_jmp_table_internal(op, context, write_stack, read_stack, std::index_sequence_for<Operators...>(), operators...);
|
||||
}
|
||||
|
@ -547,6 +547,7 @@ namespace blt::gp
|
|||
[this, &fitness_function, &crossover_selection, &mutation_selection, &reproduction_selection, &func](blt::size_t id)
|
||||
{
|
||||
thread_helper.barrier.wait();
|
||||
|
||||
if (thread_helper.evaluation_left > 0)
|
||||
{
|
||||
while (thread_helper.evaluation_left > 0)
|
||||
|
@ -606,6 +607,7 @@ namespace blt::gp
|
|||
}
|
||||
if (thread_helper.next_gen_left > 0)
|
||||
{
|
||||
thread_helper.barrier.wait();
|
||||
auto args = get_selector_args();
|
||||
if (id == 0)
|
||||
{
|
||||
|
@ -623,7 +625,7 @@ namespace blt::gp
|
|||
mutation_selection.pre_process(*this, current_pop);
|
||||
if (&crossover_selection != &reproduction_selection)
|
||||
reproduction_selection.pre_process(*this, current_pop);
|
||||
auto elite_amount = perform_elitism(args, next_pop);
|
||||
const auto elite_amount = perform_elitism(args, next_pop);
|
||||
thread_helper.next_gen_left -= elite_amount;
|
||||
}
|
||||
thread_helper.barrier.wait();
|
||||
|
@ -815,7 +817,7 @@ namespace blt::gp
|
|||
|
||||
template <typename Return, blt::size_t size, typename Accessor, blt::size_t... indexes>
|
||||
Return convert_array(std::array<blt::size_t, size>&& arr, Accessor&& accessor,
|
||||
std::integer_sequence<blt::size_t, indexes...>)
|
||||
std::integer_sequence<blt::size_t, indexes...>)
|
||||
{
|
||||
return Return{accessor(arr, indexes)...};
|
||||
}
|
||||
|
|
2
lib/blt
2
lib/blt
|
@ -1 +1 @@
|
|||
Subproject commit 8133553ed87f705c890c5becda710f72f3ddccb9
|
||||
Subproject commit 4c462dff38a982bc5dc5212337af160bc018cce1
|
|
@ -1,41 +0,0 @@
|
|||
Performance counter stats for './cmake-build-release/blt-symbolic-regression-example' (30 runs):
|
||||
|
||||
81,986,993,284 branches ( +- 15.89% ) (19.93%)
|
||||
194,632,894 branch-misses # 0.24% of all branches ( +- 21.10% ) (19.84%)
|
||||
32,561,539 cache-misses # 0.89% of all cache refs ( +- 10.21% ) (19.95%)
|
||||
3,645,509,810 cache-references ( +- 15.93% ) (20.11%)
|
||||
169,957,442,648 cycles ( +- 15.85% ) (20.26%)
|
||||
426,558,894,577 instructions # 2.51 insn per cycle ( +- 16.24% ) (20.29%)
|
||||
0 alignment-faults
|
||||
9,103 cgroup-switches ( +- 13.62% )
|
||||
52,586 faults ( +- 5.74% )
|
||||
1,823,320,688 ns duration_time ( +- 12.76% )
|
||||
41,213,439,537 ns user_time ( +- 3.68% )
|
||||
219,435,124 ns system_time ( +- 2.44% )
|
||||
132,928,139,347 L1-dcache-loads ( +- 15.55% ) (20.40%)
|
||||
2,559,138,346 L1-dcache-load-misses # 1.93% of all L1-dcache accesses ( +- 15.53% ) (20.37%)
|
||||
852,474,938 L1-dcache-prefetches ( +- 19.61% ) (20.44%)
|
||||
1,035,909,753 L1-icache-loads ( +- 11.73% ) (20.45%)
|
||||
1,451,589 L1-icache-load-misses # 0.14% of all L1-icache accesses ( +- 13.61% ) (20.50%)
|
||||
37,722,800 dTLB-loads ( +- 14.93% ) (20.52%)
|
||||
4,119,243 dTLB-load-misses # 10.92% of all dTLB cache accesses ( +- 10.99% ) (20.55%)
|
||||
1,318,136 iTLB-loads ( +- 20.32% ) (20.51%)
|
||||
367,939 iTLB-load-misses # 27.91% of all iTLB cache accesses ( +- 12.34% ) (20.42%)
|
||||
2,730,214,946 l2_request_g1.all_no_prefetch ( +- 15.32% ) (20.43%)
|
||||
52,586 page-faults ( +- 5.74% )
|
||||
52,583 page-faults:u ( +- 5.75% )
|
||||
3 page-faults:k ( +- 3.96% )
|
||||
132,786,226,560 L1-dcache-loads ( +- 15.54% ) (20.33%)
|
||||
2,581,181,694 L1-dcache-load-misses # 1.94% of all L1-dcache accesses ( +- 15.34% ) (20.26%)
|
||||
<not supported> LLC-loads
|
||||
<not supported> LLC-load-misses
|
||||
1,021,814,075 L1-icache-loads ( +- 11.67% ) (20.19%)
|
||||
1,376,958 L1-icache-load-misses # 0.13% of all L1-icache accesses ( +- 13.76% ) (20.09%)
|
||||
38,065,494 dTLB-loads ( +- 14.76% ) (20.09%)
|
||||
4,174,010 dTLB-load-misses # 11.06% of all dTLB cache accesses ( +- 10.90% ) (20.14%)
|
||||
1,407,386 iTLB-loads ( +- 20.45% ) (20.09%)
|
||||
338,781 iTLB-load-misses # 25.70% of all iTLB cache accesses ( +- 12.61% ) (20.05%)
|
||||
873,873,406 L1-dcache-prefetches ( +- 19.41% ) (20.00%)
|
||||
<not supported> L1-dcache-prefetch-misses
|
||||
|
||||
1.823 +- 0.233 seconds time elapsed ( +- 12.76% )
|
|
@ -97,7 +97,7 @@ void run(const blt::gp::prog_config_t& config)
|
|||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
void do_run()
|
||||
{
|
||||
std::stringstream results;
|
||||
for (const auto crossover_chance : crossover_chances)
|
||||
|
@ -162,3 +162,10 @@ int main()
|
|||
std::cout << "\tPopulation Size: " << best_config.population_size << std::endl;
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
for (int i = 0; i < 1; i++)
|
||||
do_run();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
Performance counter stats for './cmake-build-release/blt-symbolic-regression-example' (30 runs):
|
||||
|
||||
35,671,860,546 branches ( +- 5.05% ) (20.11%)
|
||||
130,603,525 branch-misses # 0.37% of all branches ( +- 4.61% ) (20.67%)
|
||||
43,684,408 cache-misses # 9.61% of all cache refs ( +- 3.08% ) (20.97%)
|
||||
454,604,804 cache-references ( +- 4.53% ) (21.30%)
|
||||
72,861,649,501 cycles ( +- 5.33% ) (22.00%)
|
||||
170,811,735,018 instructions # 2.34 insn per cycle ( +- 5.59% ) (22.84%)
|
||||
0 alignment-faults
|
||||
33,002 cgroup-switches ( +- 1.71% )
|
||||
293,932 faults ( +- 4.09% )
|
||||
1,130,322,318 ns duration_time ( +- 3.73% )
|
||||
16,750,942,537 ns user_time ( +- 1.71% )
|
||||
1,165,192,903 ns system_time ( +- 0.87% )
|
||||
57,551,179,178 L1-dcache-loads ( +- 5.63% ) (22.36%)
|
||||
214,283,064 L1-dcache-load-misses # 0.37% of all L1-dcache accesses ( +- 5.58% ) (22.13%)
|
||||
75,685,527 L1-dcache-prefetches ( +- 7.55% ) (22.07%)
|
||||
1,115,360,458 L1-icache-loads ( +- 3.91% ) (21.67%)
|
||||
2,868,754 L1-icache-load-misses # 0.26% of all L1-icache accesses ( +- 3.34% ) (21.34%)
|
||||
65,107,178 dTLB-loads ( +- 8.94% ) (21.00%)
|
||||
4,971,480 dTLB-load-misses # 7.64% of all dTLB cache accesses ( +- 3.70% ) (20.90%)
|
||||
452,351 iTLB-loads ( +- 4.80% ) (20.62%)
|
||||
1,600,933 iTLB-load-misses # 353.91% of all iTLB cache accesses ( +- 3.68% ) (20.62%)
|
||||
332,075,460 l2_request_g1.all_no_prefetch ( +- 4.59% ) (20.73%)
|
||||
293,932 page-faults ( +- 4.09% )
|
||||
293,928 page-faults:u ( +- 4.09% )
|
||||
3 page-faults:k ( +- 4.92% )
|
||||
58,806,652,381 L1-dcache-loads ( +- 5.44% ) (20.61%)
|
||||
216,591,223 L1-dcache-load-misses # 0.38% of all L1-dcache accesses ( +- 5.39% ) (21.02%)
|
||||
<not supported> LLC-loads
|
||||
<not supported> LLC-load-misses
|
||||
1,059,748,012 L1-icache-loads ( +- 4.29% ) (21.55%)
|
||||
2,615,017 L1-icache-load-misses # 0.23% of all L1-icache accesses ( +- 3.34% ) (21.85%)
|
||||
65,917,126 dTLB-loads ( +- 8.89% ) (21.78%)
|
||||
4,717,351 dTLB-load-misses # 7.25% of all dTLB cache accesses ( +- 3.52% ) (22.05%)
|
||||
459,796 iTLB-loads ( +- 5.92% ) (21.77%)
|
||||
1,512,986 iTLB-load-misses # 334.47% of all iTLB cache accesses ( +- 3.64% ) (21.26%)
|
||||
74,656,433 L1-dcache-prefetches ( +- 7.94% ) (20.50%)
|
||||
<not supported> L1-dcache-prefetch-misses
|
||||
|
||||
1.1303 +- 0.0422 seconds time elapsed ( +- 3.73% )
|
Loading…
Reference in New Issue