groupe-dfo-bbo:projets:nomad:architecture:evaluation-queue

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
groupe-dfo-bbo:projets:nomad:architecture:evaluation-queue [2021/06/30 21:44]
rochvivi
groupe-dfo-bbo:projets:nomad:architecture:evaluation-queue [2021/07/09 20:58] (Version actuelle)
rochvivi
Ligne 1: Ligne 1:
 ===== EvaluatorControl and Evaluation Queue ===== ===== EvaluatorControl and Evaluation Queue =====
 +
 +Parallelism is central in the development of NOMAD 4. NOMAD 4 supports OpenMP to use many threads at the same time. Note that it is also possible to compile without OpenMP. It is also possible to limit the number of threads used (parameter ''​NB_THREADS_OPENMP''​). MPI is not currently supported in NOMAD 4 (it was used in NOMAD 3).
  
 ==== Evaluation Queue ==== ==== Evaluation Queue ====
 The ''​EvaluatorControl''​ manages the evaluations. It has a queue of ''​EvalQueuePoints''​ which are points that need to be evaluated. The points are generated by ''​SearchMethods'',​ ''​PollMethods'',​ or other ''​Steps''​ derived from ''​IterationUtils''​. The ''​EvaluatorControl''​ also handles the Evaluator(s). The ''​EvaluatorControl''​ manages the evaluations. It has a queue of ''​EvalQueuePoints''​ which are points that need to be evaluated. The points are generated by ''​SearchMethods'',​ ''​PollMethods'',​ or other ''​Steps''​ derived from ''​IterationUtils''​. The ''​EvaluatorControl''​ also handles the Evaluator(s).
 +
 +The ''​EvalQueuePoints''​ know which ''​Evaluator''​ is needed to evaluated them. The evaluation queue contains all points that need to be evaluated, whether the evaluator is a model, a surrogate, or a blackbox (or other).
  
 The queue is implemented by a vector. The queue is implemented by a vector.
Ligne 39: Ligne 43:
  
 ==== Blocks of points ==== ==== Blocks of points ====
-The ''​EvaluatorControl''​ always pops blocks of points from the evaluation queue, but usually these blocks have only one point. If ''​BB_MAX_BLOCK_SIZE''​ is more than 1, blocks of this size will be popped. The points inside the block may come from different main threads (if applicable),​ but they all need to be evaluated with the same ''​Evaluator''​.+The ''​EvaluatorControl''​ always pops blocks of points from the evaluation queue, but usually these blocks have only one point. If ''​BB_MAX_BLOCK_SIZE''​ is more than 1, blocks of this size will be popped. The points inside the block may come from different main threads (if applicable),​ but they all need to be evaluated with the same ''​Evaluator''​. In this use case, the Evaluator needs to know how to evaluate a block of points. The opportunity condition, if applicable, is verified after all points in the block are evaluated.
  • groupe-dfo-bbo/projets/nomad/architecture/evaluation-queue.1625089451.txt.gz
  • Dernière modification: 2021/06/30 21:44
  • par rochvivi