From 3bb6e92e5adb5af6d7166e88c9d4e9207d9d0c91 Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Tue, 17 Sep 2024 14:17:56 -0400 Subject: [PATCH 1/3] logic to implement progress spindown - once Margo has begun spinning in the progress loop, check configurable "spindown" time to see if it should continue for some period of time before reverting to normal behavior --- src/margo-core.c | 89 +++++++++++++++++++++++++++++++------------- src/margo-init.c | 1 + src/margo-instance.h | 12 +++--- 3 files changed, 70 insertions(+), 32 deletions(-) diff --git a/src/margo-core.c b/src/margo-core.c index 318f867..44eeaa3 100644 --- a/src/margo-core.c +++ b/src/margo-core.c @@ -1956,6 +1956,8 @@ void __margo_hg_progress_fn(void* foo) unsigned int hg_progress_timeout; double next_timer_exp; unsigned int pending; + int spin_flag; + double spin_start_ts; while (!mid->hg_progress_shutdown_flag) { do { @@ -1972,34 +1974,69 @@ void __margo_hg_progress_fn(void* foo) */ ABT_thread_yield(); - /* Determine if it is reasonably safe to briefly block on Mercury - * progress. We check two conditions: are there any RPCs currently - * being processed (i.e. pending_operations) or are there any other - * threads assicated with the current pool that might become - * runnable while this thread is blocked. If either condition is - * met, then we use a zero timeout to Mercury to avoid blocking this - * ULT for too long. - * - * Note that there is no easy way to determine if this ES is expected to - * also execute work in other pools, so we may still introduce - * hg_progress_timeout_ub of latency in that configuration scenario. - * Latency-sensitive use cases should avoid running the Margo - * progress function in pools that share execution streams with - * other pools. - */ - ABT_mutex_lock(mid->pending_operations_mtx); - pending = mid->pending_operations; - ABT_mutex_unlock(mid->pending_operations_mtx); + if (spin_start_ts) { + /* We used a zero progress timeout (busy spinning) on the last + * iteration. See if spindown time has elapsed yet. + */ + if ((spin_start_ts - ABT_get_wtime()) + < (double)mid->hg_progress_spindown_ms) { + /* We are still in the spindown window; continue spinning + * regardless of current conditions. + */ + spin_flag = 1; + } else { + /* This spindown window has elapsed; clear flag and timestep + * so that we can make a new policy decision. + */ + spin_flag = 0; + spin_start_ts = 0; + } + } - /* - * Note that we intentionally use get_total_size() rather than - * get_size() to make sure that we count suspended ULTs, not just - * currently runnable ULTs. The resulting count includes this ULT - * so we look for a count > 1 instead of a count > 0. - */ - ABT_pool_get_total_size(MARGO_PROGRESS_POOL(mid), &size); + if (!spin_flag) { + /* Determine if it is reasonably safe to briefly block on + * Mercury progress or if we should enter spin mode. We check + * two conditions: are there any RPCs currently being processed + * (i.e. pending_operations) or are there any other threads + * assicated with the current pool that might become runnable + * while this thread is blocked? If either condition is met, + * then we use a zero timeout to Mercury to avoid blocking this + * ULT for too long. + * + * Note that there is no easy way to determine if this ES is + * expected to also execute work in other pools, so we may + * still introduce hg_progress_timeout_ub of latency in that + * configuration scenario. Latency-sensitive use cases + * should avoid running the Margo progress function in pools + * that share execution streams with other pools. + */ + ABT_mutex_lock(mid->pending_operations_mtx); + pending = mid->pending_operations; + ABT_mutex_unlock(mid->pending_operations_mtx); + + /* + * Note that we intentionally use get_total_size() rather + * than get_size() to make sure that we count suspended + * ULTs, not just currently runnable ULTs. The resulting + * count includes this ULT so we look for a count > 1 + * instead of a count > 0. + */ + ABT_pool_get_total_size(MARGO_PROGRESS_POOL(mid), &size); + + if (pending || size > 1) { + /* entering spin mode; record timestamp so that we can + * track how long we have been in this mode + */ + spin_flag = 1; + spin_start_ts = ABT_get_wtime(); + } else { + /* Block on Mercury progress to release CPU */ + spin_flag = 0; + spin_start_ts = 0; + } + } - if (pending || size > 1) { + if (spin_flag) { hg_progress_timeout = 0; } else { hg_progress_timeout = mid->hg_progress_timeout_ub; diff --git a/src/margo-init.c b/src/margo-init.c index 10ab643..0af1e90 100644 --- a/src/margo-init.c +++ b/src/margo-init.c @@ -300,6 +300,7 @@ margo_instance_id margo_init_ext(const char* address, mid->hg_progress_tid = ABT_THREAD_NULL; mid->hg_progress_shutdown_flag = 0; mid->hg_progress_timeout_ub = progress_timeout_ub; + mid->hg_progress_spindown_ms = 1; /* TODO: temporarily hard coded */ mid->num_registered_rpcs = 0; mid->registered_rpcs = NULL; diff --git a/src/margo-instance.h b/src/margo-instance.h index 19828bf..ffa27f7 100644 --- a/src/margo-instance.h +++ b/src/margo-instance.h @@ -71,6 +71,7 @@ struct margo_instance { ABT_thread hg_progress_tid; _Atomic int hg_progress_shutdown_flag; _Atomic unsigned hg_progress_timeout_ub; + _Atomic unsigned hg_progress_spindown_ms; uint16_t num_registered_rpcs; /* number of registered rpc's by all providers on this instance */ @@ -130,8 +131,7 @@ struct margo_instance { #define MARGO_RPC_POOL(mid) (mid)->abt.pools[mid->rpc_pool_idx].pool -typedef enum margo_request_kind -{ +typedef enum margo_request_kind { MARGO_REQ_EVENTUAL, MARGO_REQ_CALLBACK } margo_request_kind; @@ -159,10 +159,10 @@ struct margo_request_struct { struct margo_rpc_data { margo_instance_id mid; _Atomic(ABT_pool) pool; - char* rpc_name; - hg_proc_cb_t in_proc_cb; /* user-provided input proc */ - hg_proc_cb_t out_proc_cb; /* user-provided output proc */ - void* user_data; + char* rpc_name; + hg_proc_cb_t in_proc_cb; /* user-provided input proc */ + hg_proc_cb_t out_proc_cb; /* user-provided output proc */ + void* user_data; void (*user_free_callback)(void*); }; From 9442194802bf6eedc74bae213025371b6c201732 Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Tue, 17 Sep 2024 14:46:36 -0400 Subject: [PATCH 2/3] make spindown time configurable --- src/margo-config.c | 4 ++++ src/margo-core.c | 2 +- src/margo-init.c | 11 ++++++++++- src/margo-instance.h | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/margo-config.c b/src/margo-config.c index 2619509..24c9532 100644 --- a/src/margo-config.c +++ b/src/margo-config.c @@ -53,6 +53,10 @@ char* margo_get_config_opt(margo_instance_id mid, int options) json_object_object_add_ex( root, "progress_timeout_ub_msec", json_object_new_uint64(mid->hg_progress_timeout_ub), flags); + // progress_spindown_msec + json_object_object_add_ex( + root, "progress_spindown_msec", + json_object_new_uint64(mid->hg_progress_spindown_msec), flags); // handle_cache_size json_object_object_add_ex(root, "handle_cache_size", json_object_new_uint64(mid->handle_cache_size), diff --git a/src/margo-core.c b/src/margo-core.c index 44eeaa3..3d48d1f 100644 --- a/src/margo-core.c +++ b/src/margo-core.c @@ -1979,7 +1979,7 @@ void __margo_hg_progress_fn(void* foo) * iteration. See if spindown time has elapsed yet. */ if ((spin_start_ts - ABT_get_wtime()) - < (double)mid->hg_progress_spindown_ms) { + < (double)mid->hg_progress_spindown_msec) { /* We are still in the spindown window; continue spinning * regardless of current conditions. */ diff --git a/src/margo-init.c b/src/margo-init.c index 0af1e90..ead395b 100644 --- a/src/margo-init.c +++ b/src/margo-init.c @@ -279,6 +279,8 @@ margo_instance_id margo_init_ext(const char* address, goto error; } + mid->hg_progress_spindown_msec + = json_object_object_get_int_or(config, "progress_spindown_msec", 10); int progress_timeout_ub = json_object_object_get_int_or( config, "progress_timeout_ub_msec", 100); int handle_cache_size @@ -300,7 +302,6 @@ margo_instance_id margo_init_ext(const char* address, mid->hg_progress_tid = ABT_THREAD_NULL; mid->hg_progress_shutdown_flag = 0; mid->hg_progress_timeout_ub = progress_timeout_ub; - mid->hg_progress_spindown_ms = 1; /* TODO: temporarily hard coded */ mid->num_registered_rpcs = 0; mid->registered_rpcs = NULL; @@ -413,6 +414,7 @@ static bool __margo_validate_json(struct json_object* _margo, /* Fields: - [required] mercury: object - [optional] argobots: object + - [optional] progress_spindown_msec: integer >= 0 (default 10) - [optional] progress_timeout_ub_msec: integer >= 0 (default 100) - [optional] handle_cache_size: integer >= 0 (default 32) - [optional] use_progress_thread: bool (default false) @@ -435,6 +437,13 @@ static bool __margo_validate_json(struct json_object* _margo, struct json_object* _argobots = json_object_object_get(_margo, "argobots"); if (!__margo_abt_validate_json(_argobots)) { return false; } + // check "progress_spindown_msec" field + ASSERT_CONFIG_HAS_OPTIONAL(_margo, "progress_spindown_msec", int, "margo"); + if (CONFIG_HAS(_margo, "progress_spindown_msec", ignore)) { + CONFIG_INTEGER_MUST_BE_POSITIVE(_margo, "progress_spindown_msec", + "progress_spindown_msec"); + } + // check "progress_timeout_ub_msec" field ASSERT_CONFIG_HAS_OPTIONAL(_margo, "progress_timeout_ub_msec", int, "margo"); diff --git a/src/margo-instance.h b/src/margo-instance.h index ffa27f7..bcbd81d 100644 --- a/src/margo-instance.h +++ b/src/margo-instance.h @@ -71,7 +71,7 @@ struct margo_instance { ABT_thread hg_progress_tid; _Atomic int hg_progress_shutdown_flag; _Atomic unsigned hg_progress_timeout_ub; - _Atomic unsigned hg_progress_spindown_ms; + _Atomic unsigned hg_progress_spindown_msec; uint16_t num_registered_rpcs; /* number of registered rpc's by all providers on this instance */ From 6654e0d5dd2ad2e71af98b914a86e308377d510a Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Tue, 17 Sep 2024 14:55:38 -0400 Subject: [PATCH 3/3] update configuration reference values --- tests/unit-tests/test-configs.json | 68 +++++++++++++++--------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tests/unit-tests/test-configs.json b/tests/unit-tests/test-configs.json index 1d0954a..87680f9 100644 --- a/tests/unit-tests/test-configs.json +++ b/tests/unit-tests/test-configs.json @@ -2,27 +2,27 @@ "empty": { "pass": true, "input": {}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "empty/hide_external": { "pass": true, "hide_external": true, "input": {}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_mem_max_num_stacks": { "pass": true, "input": {"argobots":{"abt_mem_max_num_stacks": 12}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":12,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":12,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_mem_max_num_stacks/abt_thread_stacksize/abt_init": { "pass": true, "abt_init": true, "input": {"argobots":{"abt_mem_max_num_stacks": 12, "abt_thread_stacksize": 2000000}}, - "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_mem_max_num_stacks/env": { @@ -31,7 +31,7 @@ "ABT_MEM_MAX_NUM_STACKS": "16" }, "input": {"argobots":{"abt_mem_max_num_stacks": 12}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":16,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":16,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_mem_max_num_stacks_must_be_an_integer": { @@ -42,7 +42,7 @@ "abt_thread_stacksize": { "pass": true, "input": {"argobots":{"abt_thread_stacksize": 2000000}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2000000,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2000000,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_thread_stacksize/env": { @@ -51,7 +51,7 @@ "ABT_THREAD_STACKSIZE": "2000002" }, "input": {"argobots":{"abt_thread_stacksize": 2000000}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2000002,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2000002,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "abt_thread_stacksize_must_be_an_integer": { @@ -62,27 +62,27 @@ "use_progress_thread=true": { "pass": true, "input": {"use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "use_progress_thread=true/use_names": { "pass": true, "use_names": true, "input": {"use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":["__primary__"]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":["__pool_1__"]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":"__pool_1__","rpc_pool":"__primary__"} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":["__primary__"]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":["__pool_1__"]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":"__pool_1__","rpc_pool":"__primary__"} }, "use_progress_thread=false": { "pass": true, "input": {"use_progress_thread": false}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "empty/with_abt_init": { "pass": true, "abt_init": true, "input": {}, - "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "empty/with_abt_init/hide_external": { @@ -90,21 +90,21 @@ "abt_init": true, "hide_external": true, "input": {}, - "output": {"argobots":{"pools":[],"xstreams":[],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[],"xstreams":[],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "use_progress_thread=true/with_abt_init": { "pass": true, "abt_init": true, "input": {"use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "use_progress_thread=false/with_abt_init": { "pass": true, "abt_init": true, "input": {"use_progress_thread": false}, - "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"external","name":"__primary__"}],"xstreams":[{"scheduler":{"type":"external","pools":[0]},"name":"__primary__"}],"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "use_progress_thead=string": { @@ -115,25 +115,25 @@ "rpc_thread_count=-1": { "pass": true, "input": {"rpc_thread_count": -1}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "rpc_thread_count=0": { "pass": true, "input": {"rpc_thread_count": 0}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "rpc_thread_count=1": { "pass": true, "input": {"rpc_thread_count": 1}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} }, "rpc_thread_count=2": { "pass": true, "input": {"rpc_thread_count": 2}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_2__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_2__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} }, "rpc_thread_count=string": { @@ -144,31 +144,31 @@ "rpc_thread_count=-1/use_progress_thread=true": { "pass": true, "input": {"rpc_thread_count": -1, "use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} }, "rpc_thread_count=0/use_progress_thread=true": { "pass": true, "input": {"rpc_thread_count": 0, "use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "rpc_thread_count=1/use_progress_thread=true": { "pass": true, "input": {"rpc_thread_count": 1, "use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_2__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_2__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":2} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_2__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_2__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":2} }, "rpc_thread_count=2/use_progress_thread=true": { "pass": true, "input": {"rpc_thread_count": 2, "use_progress_thread": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_2__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_2__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_3__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":2} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_1__","access":"mpmc"},{"kind":"fifo_wait","name":"__pool_2__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__xstream_1__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_2__"},{"scheduler":{"type":"basic_wait","pools":[2]},"name":"__xstream_3__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":2} }, "valid_pool_kinds_and_access": { "pass": true, "input": {"argobots":{"pools":[{"name":"fifo_pool","kind":"fifo","access":"private"},{"name":"fifo_wait_pool","kind":"fifo_wait","access":"mpmc"},{"name":"prio_wait_pool","kind":"prio_wait","access":"spsc"},{"name":"fifo_pool_2","kind":"fifo","access":"mpsc"},{"name":"fifo_pool_3","kind":"fifo","access":"spmc"}]}}, - "output": {"argobots":{"pools":[{"kind":"fifo","name":"fifo_pool","access":"private"},{"kind":"fifo_wait","name":"fifo_wait_pool","access":"mpmc"},{"kind":"prio_wait","name":"prio_wait_pool","access":"spsc"},{"kind":"fifo","name":"fifo_pool_2","access":"mpsc"},{"kind":"fifo","name":"fifo_pool_3","access":"spmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[5]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":5,"rpc_pool":5} + "output": {"argobots":{"pools":[{"kind":"fifo","name":"fifo_pool","access":"private"},{"kind":"fifo_wait","name":"fifo_wait_pool","access":"mpmc"},{"kind":"prio_wait","name":"prio_wait_pool","access":"spsc"},{"kind":"fifo","name":"fifo_pool_2","access":"mpsc"},{"kind":"fifo","name":"fifo_pool_3","access":"spmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[5]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":5,"rpc_pool":5} }, "argobots_should_be_an_object": { @@ -289,7 +289,7 @@ "xstreams_cpubind": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"cpubind":0,"scheduler":{"pools":[0]}}]}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} }, "xstreams_cpubind_should_be_an_integer": { @@ -300,7 +300,7 @@ "xstreams_affinity": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"affinity":[0,1],"scheduler":{"pools":[0]}}]}}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":1} }, "xstreams_affinity_should_be_an_array": { @@ -361,19 +361,19 @@ "progress_pool_string": { "pass": true, "input": {"argobots":{"pools":[{"name":"my_pool"}],"xstreams":[{"scheduler":{"pools":["my_pool"]}}]},"progress_pool":"my_pool"}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"my_pool","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"my_pool","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} }, "progress_pool_integer": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"scheduler":{"pools":[0]}}]},"progress_pool":0}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} }, "use_progress_thread_is_ignored": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"scheduler":{"pools":[0]}}]},"progress_pool":0, "use_progress_thread":false}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":1} }, "progress_pool_should_be_string_or_integer": { @@ -394,19 +394,19 @@ "rpc_pool_string": { "pass": true, "input": {"argobots":{"pools":[{"name":"my_pool"}],"xstreams":[{"scheduler":{"pools":["my_pool"]}}]},"rpc_pool":"my_pool"}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"my_pool","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"my_pool","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "rpc_pool_integer": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"scheduler":{"pools":[0]}}]},"rpc_pool":0}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "rpc_thread_count_is_ignored": { "pass": true, "input": {"argobots":{"pools":[{}],"xstreams":[{"scheduler":{"pools":[0]}}]},"rpc_pool":0,"rpc_thread_count":4}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__pool_0__","access":"mpmc"},{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__xstream_0__"},{"scheduler":{"type":"basic_wait","pools":[1]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":1,"rpc_pool":0} }, "rpc_pool_should_be_string_or_integer": { @@ -427,13 +427,13 @@ "primary_pool": { "pass": true, "input": {"argobots":{"pools":[{"name":"__primary__","kind":"fifo"}]}}, - "output": {"argobots":{"pools":[{"kind":"fifo","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "primary_xstream": { "pass": true, "input": {"argobots":{"pools":[{"name":"__primary__","kind":"fifo"}],"xstreams":[{"name":"__primary__","scheduler":{"pools":[0]}}]}}, - "output": {"argobots":{"pools":[{"kind":"fifo","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":false,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} }, "primary_xstream_without_scheduler": { @@ -461,6 +461,6 @@ "enable_abt_profiling": { "pass": true, "input": {"enable_abt_profiling": true}, - "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":true,"progress_timeout_ub_msec":100,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} + "output": {"argobots":{"pools":[{"kind":"fifo_wait","name":"__primary__","access":"mpmc"}],"xstreams":[{"scheduler":{"type":"basic_wait","pools":[0]},"name":"__primary__"}],"abt_mem_max_num_stacks":8,"abt_thread_stacksize":2097152,"profiling_dir":"."},"enable_abt_profiling":true,"progress_timeout_ub_msec":100,"progress_spindown_msec":10,"handle_cache_size":32,"progress_pool":0,"rpc_pool":0} } }