GALib-Parallel
Header-only C++ library for parallel evolutionary algorithms
Loading...
Searching...
No Matches
include
algorithms
standard
CUDAEvaluator.h
Go to the documentation of this file.
1
#ifndef CUDA_EVALUATOR_H
2
#define CUDA_EVALUATOR_H
3
4
#pragma once
5
6
#include <functional>
7
#include <string>
8
#include <vector>
9
10
namespace
galib::cuda::internal
{
11
19
struct
CUDARunParams
{
20
int
pop_size
;
21
int
dims
;
22
int
max_generations
;
23
float
mutation_rate
;
24
float
crossover_rate
;
25
bool
use_elitism
;
26
int
tournament_size
= 3;
27
float
sigma
= 0.1f;
28
30
std::string
problem_name
;
31
36
std::function<double(
const
float
*,
int
)>
fitness_callback
;
37
39
std::function<void(
int
,
double
)>
progress_callback
;
40
};
41
51
bool
runCUDAEvolution
(
CUDARunParams
& params,
52
std::vector<float>& h_genes,
53
std::vector<float>& h_fitness);
54
55
}
// namespace galib::cuda::internal
56
57
#endif
// CUDA_EVALUATOR_H
galib::cuda::internal
Definition
CUDAEvaluator.h:10
galib::cuda::internal::runCUDAEvolution
bool runCUDAEvolution(CUDARunParams ¶ms, std::vector< float > &h_genes, std::vector< float > &h_fitness)
Runs the full GA evolution loop on the GPU.
galib::cuda::internal::CUDARunParams
Parameters for a full GPU-accelerated evolution run.
Definition
CUDAEvaluator.h:19
galib::cuda::internal::CUDARunParams::crossover_rate
float crossover_rate
Definition
CUDAEvaluator.h:24
galib::cuda::internal::CUDARunParams::mutation_rate
float mutation_rate
Definition
CUDAEvaluator.h:23
galib::cuda::internal::CUDARunParams::sigma
float sigma
Gaussian mutation standard deviation.
Definition
CUDAEvaluator.h:27
galib::cuda::internal::CUDARunParams::pop_size
int pop_size
Definition
CUDAEvaluator.h:20
galib::cuda::internal::CUDARunParams::use_elitism
bool use_elitism
Definition
CUDAEvaluator.h:25
galib::cuda::internal::CUDARunParams::max_generations
int max_generations
Definition
CUDAEvaluator.h:22
galib::cuda::internal::CUDARunParams::fitness_callback
std::function< double(const float *, int)> fitness_callback
Definition
CUDAEvaluator.h:36
galib::cuda::internal::CUDARunParams::progress_callback
std::function< void(int, double)> progress_callback
Definition
CUDAEvaluator.h:39
galib::cuda::internal::CUDARunParams::tournament_size
int tournament_size
Definition
CUDAEvaluator.h:26
galib::cuda::internal::CUDARunParams::dims
int dims
Definition
CUDAEvaluator.h:21
galib::cuda::internal::CUDARunParams::problem_name
std::string problem_name
Definition
CUDAEvaluator.h:30
Generated by
1.9.8