#include "ttg/config.h"#include "ttg/impl_selector.h"#include "../../ttg.h"#include "ttg/base/keymap.h"#include "ttg/base/tt.h"#include "ttg/base/world.h"#include "ttg/constraint.h"#include "ttg/edge.h"#include "ttg/execution.h"#include "ttg/func.h"#include "ttg/runtimes.h"#include "ttg/terminal.h"#include "ttg/tt.h"#include "ttg/util/env.h"#include "ttg/util/hash.h"#include "ttg/util/meta.h"#include "ttg/util/meta/callable.h"#include "ttg/util/print.h"#include "ttg/util/scope_exit.h"#include "ttg/util/trace.h"#include "ttg/util/typelist.h"#include "ttg/serialization/data_descriptor.h"#include "ttg/parsec/fwd.h"#include "ttg/parsec/buffer.h"#include "ttg/parsec/devicescratch.h"#include "ttg/parsec/thread_local.h"#include "ttg/parsec/devicefunc.h"#include "ttg/parsec/ttvalue.h"#include "ttg/device/task.h"#include "ttg/parsec/parsec_data.h"#include <algorithm>#include <array>#include <cassert>#include <cstring>#include <experimental/type_traits>#include <functional>#include <future>#include <iostream>#include <list>#include <map>#include <memory>#include <mutex>#include <numeric>#include <sstream>#include <string>#include <tuple>#include <vector>#include <mpi.h>#include <parsec.h>#include <parsec/class/parsec_hash_table.h>#include <parsec/data_internal.h>#include <parsec/execution_stream.h>#include <parsec/interfaces/interface.h>#include <parsec/mca/device/device.h>#include <parsec/parsec_comm_engine.h>#include <parsec/parsec_internal.h>#include <parsec/scheduling.h>#include <parsec/remote_dep.h>#include <parsec/utils/mca_param.h>#include <parsec/mca/device/device_gpu.h>#include <cstdlib>#include "ttg/parsec/ttg_data_copy.h"#include "ttg/parsec/ptr.h"#include "ttg/parsec/task.h"#include "ttg/parsec/parsec-ext.h"#include "ttg/device/device.h"#include "ttg/make_tt.h"Namespaces | |
| ttg_parsec | |
| this contains PaRSEC-based TTG functionality | |
| ttg_parsec::detail | |
Macros | |
| #define | TTG_USE_PARSEC 1 |
| #define | TTG_PARSEC_DEFER_WRITER false |
Typedefs | |
| typedef void(* | ttg_parsec::static_set_arg_fct_type) (void *, size_t, ttg::TTBase *) |
| typedef std::pair< static_set_arg_fct_type, ttg::TTBase * > | ttg_parsec::static_set_arg_fct_call_t |
| typedef std::tuple< int, std::unique_ptr< std::byte[]>, size_t > | ttg_parsec::static_set_arg_fct_arg_t |
Functions | |
| void | parsec_taskpool_termination_detected (parsec_taskpool_t *tp) |
| int | parsec_add_fetch_runtime_task (parsec_taskpool_t *tp, int tasks) |
| bool & | ttg_parsec::detail::initialized_mpi () |
| ttg_data_copy_t * | ttg_parsec::detail::find_copy_in_task (parsec_ttg_task_base_t *task, const void *ptr) |
| int | ttg_parsec::detail::find_index_of_copy_in_task (parsec_ttg_task_base_t *task, const void *ptr) |
| bool | ttg_parsec::detail::add_copy_to_task (ttg_data_copy_t *copy, parsec_ttg_task_base_t *task) |
| void | ttg_parsec::detail::remove_data_copy (ttg_data_copy_t *copy, parsec_ttg_task_base_t *task) |
| template<typename Value > | |
| ttg_data_copy_t * | ttg_parsec::detail::create_new_datacopy (Value &&value) |
| template<typename T > | |
| void | ttg_parsec::detail::transfer_ownership_impl (T &&arg, int device) |
| template<typename TT , std::size_t... Is> | |
| void | ttg_parsec::detail::transfer_ownership (parsec_ttg_task_t< TT > *me, int device, std::index_sequence< Is... >) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::hook (struct parsec_execution_stream_s *es, parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::hook_cuda (struct parsec_execution_stream_s *es, parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::hook_hip (struct parsec_execution_stream_s *es, parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::hook_level_zero (struct parsec_execution_stream_s *es, parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::evaluate_cuda (const parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::evaluate_hip (const parsec_task_t *parsec_task) |
| template<typename TT > | |
| parsec_hook_return_t | ttg_parsec::detail::evaluate_level_zero (const parsec_task_t *parsec_task) |
| void | ttg_parsec::detail::release_data_copy (ttg_data_copy_t *copy) |
| template<typename Value > | |
| ttg_data_copy_t * | ttg_parsec::detail::register_data_copy (ttg_data_copy_t *copy_in, parsec_ttg_task_base_t *task, bool readonly) |
| void | ttg_parsec::ttg_initialize (int argc, char **argv, int num_threads, parsec_context_t *ctx) |
| void | ttg_parsec::ttg_finalize () |
| ttg::World | ttg_parsec::ttg_default_execution_context () |
| void | ttg_parsec::ttg_execute (ttg::World world) |
| void | ttg_parsec::ttg_fence (ttg::World world) |
| template<typename T > | |
| void | ttg_parsec::ttg_register_ptr (ttg::World world, const std::shared_ptr< T > &ptr) |
| template<typename T > | |
| void | ttg_parsec::ttg_register_ptr (ttg::World world, std::unique_ptr< T > &&ptr) |
| void | ttg_parsec::ttg_register_status (ttg::World world, const std::shared_ptr< std::promise< void >> &status_ptr) |
| template<typename Callback > | |
| void | ttg_parsec::ttg_register_callback (ttg::World world, Callback &&callback) |
| ttg::Edge & | ttg_parsec::ttg_ctl_edge (ttg::World world) |
| void | ttg_parsec::ttg_sum (ttg::World world, double &value) |
| void | ttg_parsec::make_executable_hook (ttg::World &) |
| template<typename T > | |
| void | ttg_parsec::ttg_broadcast (::ttg::World world, T &data, int source_rank) |
Variables | |
| std::map< uint64_t, static_set_arg_fct_call_t > | ttg_parsec::static_id_to_op_map |
| std::mutex | ttg_parsec::static_map_mutex |
| std::multimap< uint64_t, static_set_arg_fct_arg_t > | ttg_parsec::delayed_unpack_actions |
| constexpr const int | ttg_parsec::detail::PARSEC_TTG_MAX_AM_SIZE = 1 * 1024*1024 |
| std::size_t | ttg_parsec::detail::max_inline_size = msg_t::max_payload_size |
| bool | ttg_parsec::detail::all_devices_peer_access |
| const parsec_symbol_t | ttg_parsec::detail::parsec_taskclass_param0 |
| const parsec_symbol_t | ttg_parsec::detail::parsec_taskclass_param1 |
| const parsec_symbol_t | ttg_parsec::detail::parsec_taskclass_param2 |
| const parsec_symbol_t | ttg_parsec::detail::parsec_taskclass_param3 |
Macro Definition Documentation
◆ TTG_PARSEC_DEFER_WRITER
◆ TTG_USE_PARSEC
Function Documentation
◆ parsec_add_fetch_runtime_task()
| int parsec_add_fetch_runtime_task | ( | parsec_taskpool_t * | tp, |
| int | tasks | ||
| ) |
◆ parsec_taskpool_termination_detected()
| void parsec_taskpool_termination_detected | ( | parsec_taskpool_t * | tp | ) |
1.9.1