Dakota Reference Manual: asynchronous

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
asynchronous

Specify local evaluation or analysis concurrency

## Topics

This keyword is related to the topics:

- concurrency_and_parallelism

## Specification

Alias: none

Argument(s): none

Default: synchronous interface usage

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional | evaluation_concurrency | Determine how many concurrent evaluations Dakota will schedule
| Optional | local_evaluation_scheduling | Control how local asynchronous jobs are scheduled
| Optional | analysis_concurrency | Limit the number of analysis drivers within an evaluation that Dakota will schedule

## Description

The optional `asynchronous` keyword specifies use of asynchronous protocols (i.e., background system calls, nonblocking forks, POSIX threads) when evaluations or analyses are invoked. Evaluation and analysis concurrency can be independently controlled, as can the scheduling mode (static vs. dynamic) of the local evaluations.

Default Behavior

- when running Dakota on a single processor in `asynchronous` mode, the default concurrency of evaluations and analyses is all concurrency that is available. The `evaluation_concurrency` and `analysis_concurrency` specifications can be used to limit this concurrency in order to avoid machine overload or usage policy violation.

- when running Dakota on multiple processors in message passing mode, the default concurrency of evaluations and analyses on each of the servers is one (i.e., the parallelism is exclusively that of the message passing). With the `evaluation_concurrency` and `analysis_concurrency` specifications, a hybrid parallelism can be selected through combination of message passing parallelism with asynchronous parallelism on each server.