+#include <vector>
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(ker_context, kernel, "Context switching mechanism");
+
+namespace simgrid::kernel::context {
+
+static e_xbt_parmap_mode_t parallel_synchronization_mode = XBT_PARMAP_DEFAULT;
+static int parallel_contexts = 1;
+unsigned stack_size;
+unsigned guard_size;
+
+/** @brief Returns whether some parallel threads are used for the user contexts. */
+bool is_parallel()
+{
+ return parallel_contexts > 1;
+}
+
+/**
+ * @brief Returns the number of parallel threads used for the user contexts.
+ * @return the number of threads (1 means no parallelism)
+ */
+int get_nthreads()
+{
+ return parallel_contexts;
+}