Ultra 0.9.4
Loading...
Searching...
No Matches
evolution.h File Reference
#include "kernel/evolution_callbacks.h"
#include "kernel/evolution_strategy.h"
#include "kernel/layered_population.h"
#include "kernel/refiner.h"
#include "kernel/search_log.h"
#include "utility/term.h"
#include "utility/thread_pool.h"
#include "utility/timer.h"
#include <atomic>
#include <future>
#include <vector>
#include "kernel/evolution.tcc"

Go to the source code of this file.

Classes

class  ultra::evolution< E >

Namespaces

namespace  ultra

Enumerations

enum class  phase { evolution , refinement }

Functions

template<Evaluator E>
std::size_t ultra::internal::set_evaluator_parallelism (std::size_t allocated, std::size_t min_samples_per_eval_thread, E &eva)

Detailed Description

Remarks
This file is part of ULTRA.
License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/

Function Documentation

◆ set_evaluator_parallelism()

template<Evaluator E>
std::size_t ultra::internal::set_evaluator_parallelism ( std::size_t allocated,
std::size_t min_samples_per_eval_thread,
E & eva )
nodiscard

Configures parallel dataset evaluation for an evaluator.

Parameters
[in]allocatednumber of concurrent worker tasks
[in]min_samples_per_eval_threadminimum number of samples per thread
[in,out]evaevaluator instance to configure
Returns
number of helper threads assigned, or 0 if unsupported or disabled

Distributes surplus hardware thread capacity among the allocated tasks and forwards the configuration to the evaluator if supported.