Skip to content

1.0.0

Latest

Choose a tag to compare

@evaleev evaleev released this 24 Nov 13:22
· 49 commits to master since this release

This is the first stable release.

If you use this, in addition to citing the contents of CITATION.cff please cite DOI
.

What's Changed

  • Revised Op<> facilities to avoid the use of InFlows ... by @evaleev in #1
  • Inputs as tuple of handles by @evaleev in #3
  • Topic/distributed by @evaleev in #10
  • Void -> void by @evaleev in #11
  • Data+ctl by @evaleev in #13
  • build MADNESS as a subproject by @evaleev in #30
  • embed PaRSEC as a CMake subproject by @evaleev in #33
  • Parsec cuda by @evaleev in #18
  • have_cuda_op is now a constexpr function instead of variable by @evaleev in #40
  • Document subprojects in the 'contrib' part of the documentation by @therault in #43
  • basic docker container builder by @evaleev in #45
  • Switch to FetchContent by @evaleev in #48
  • Missing libs unwind and ompicxx by @evaleev in #49
  • Parsec key by @evaleev in #52
  • Add the logic to manage remote invoke(), by @therault in #56
  • Wavefront implementations using workflow and dataflow models by @pnookala in #58
  • Formatted wavefront code using clang-format, changed matrix classes to use 1D array. by @pnookala in #59
  • Dynamic programming and wavefront examples by @pnookala in #60
  • Passing tuple of refs: PaRSEC by @evaleev in #63
  • Passing tuple of refs by @evaleev in #65
  • Documentation by @pnookala in #64
  • Initial design document for pull terminals by @pnookala in #66
  • Corrected OpenMP link in CMakeLists by @pnookala in #61
  • GUPS Random Access benchmark using TTG by @pnookala in #72
  • use blas++/lapack++ for linear algebra by @evaleev in #70
  • ttg_matrix: make sure the shape is written to the output matrix before data is written by @devreal in #73
  • created initial setup for GH actions by @evaleev in #74
  • Parsec ttg broadcast by @therault in #67
  • docs deployment via GH actions by @evaleev in #75
  • modularization + renamespacing by @evaleev in #76
  • Be more sensible in the wavefront problem size by @devreal in #78
  • Remove left-over debug output during teardown by @devreal in #80
  • GE: Try not to Segfault if insufficient arguments are provided by @devreal in #77
  • Fixed issues with examples, changed RandomAccess benchmark to new example format by @pnookala in #79
  • docker script updates by @evaleev in #85
  • Evaleev/feature/pre commit git hooks by @evaleev in #82
  • Add set_keymap to ttg/parsec by @devreal in #94
  • Fence can be called any time, even if execute() has not been called. by @therault in #95
  • serialization refactoring by @evaleev in #99
  • Examples/hash functions by @therault in #89
  • more serialization fixes by @evaleev in #100
  • multiple serialization backends by @evaleev in #101
  • [ci] test examples using on linux instances by @evaleev in #108
  • bump madness tag to fix parsec profiling API invocation by @evaleev in #107
  • [cmake] fixed std::execution discovery module by @evaleev in #109
  • install missing headers by @evaleev in #110
  • bump BTAS tag to install few missing headers by @evaleev in #112
  • Force compilers to always produce colored output when using Ninja by @devreal in #84
  • Add distributed dense Cholesky Factorization and split-metadata serialization by @devreal in #87
  • Minor fixes to the Cholesky benchmark by @devreal in #117
  • Add priority mapping to Ops by @devreal in #116
  • Add support for high/low priorities to the madness backend by @devreal in #121
  • Remove some debugging output that was left in accidentally by @devreal in #123
  • fix non-POSIX-standard function def in shell scripts by @milthorpe in #125
  • PaRSEC: Add barrier to fence to make it synchronizing by @devreal in #126
  • parsec implementation of fence still had issues by @therault in #128
  • Parsec streaming terminal by @therault in #129
  • Added a version of t9 example with streaming terminals by @pnookala in #127
  • Extend the examples/spmm example to work with larger matrices by @devreal in #136
  • Performance Improvements for SPMM by @devreal in #137
  • Add missing header files to installation by @devreal in #134
  • make TTG installable and usable from install tree by @evaleev in #138
  • recent LINALG++ kits expect mangling by @evaleev in #142
  • [cmake] bump BTAS tag + fixes to support building Boost from source, again by @evaleev in #144
  • unit test serialization of vector-of-vector by @evaleev in #145
  • Improvements to the PaRSEC backend by @devreal in #140
  • SPMM: stay within index matrix bounds by @devreal in #146
  • matrix metadata traversal uses std::vector::at by @evaleev in #148
  • PaRSEC: properly account for inflight GETs to avoid premature termination detection by @devreal in #147
  • Fix handling of empty iovecs in PaRSEC backend by @devreal in #149
  • Enable deterministic matrix creation in the block sparse example by @therault in #152
  • shallow copy btas tiles by @evaleev in #120
  • minor dox update by @evaleev in #153
  • Provide matrix tile in separate in examples by @devreal in #115
  • fix slow spmatrix inserts by @evaleev in #155
  • SPMM benchmark: output and parameters made consistent with DBCSR benchmark by @therault in #156
  • Purge Travis CI mentions by @evaleev in #161
  • bump doxygen to 1.9.2 by @evaleev in #160
  • bspmm-distributed by @therault in #157
  • Add const, broadcast, and move to floyd-warshall by @devreal in #163
  • Simplify matrix initialization in FW example by @pnookala in #164
  • Distributed matrix in floyd-warshall by @devreal in #165
  • switch to the "ESPM2" API by @evaleev in #172
  • ported over dox changes from evaleev/feature/matrix by @evaleev in #173
  • Change streaming terminal reducer to accept T&, const T& by @devreal in #175
  • Evaleev/feature/template task graph by @evaleev in #174
  • Allow single keys (non-iterable) in ttg::broadcast by @devreal in #178
  • make_tt can handle control flow (but, like current TTs themselves, on… by @evaleev in #177
  • Evaleev/cmake/buildable without boost by @evaleev in #181
  • Avoid div in the default keymap if there is only one process by @devreal in #183
  • Terminal: devirtualize the terminal type accessor by @devreal in #182
  • Reorganize data copy handling in PaRSEC backend by @devreal in #187
  • Implemented MRA example using streaming terminals by @pnookala in #189
  • Evaleev/fix/tracing by @evaleev in #185
  • Devirtualize WorldImpl::size and rank by @devreal in #186
  • introduced ttg::initialize and its brethren by @evaleev in #193
  • Make sure get_trace() always returns a value by @devreal in #194
  • PaRSEC: Remove element from hash table while we hold the lock by @devreal in #201
  • Simplify loops in ttg::Out::send by @devreal in #199
  • Add missing stdexcept include to env.cpp by @devreal in #196
  • ttg::hash overload for integral values by @devreal in #200
  • Add missing optional header by @devreal in #204
  • Update the PaRSEC repository and TAG to the TESSEOrg latest by @therault in #203
  • PaRSEC: no need to reconstruct task objects, just make them singletons by @devreal in #202
  • PaRSEC: replace use of list with ring of tasks by @devreal in #195
  • [feature] dynamic stream size by @evaleev in #205
  • Bump PaRSEC version to fix assert in comm engine by @devreal in #210
  • Fix PaRSEC tag, pointing to the right commit hash by @devreal in #211
  • Bump madness tag to fix build issue by @Ashawini27 in #215
  • [docker] fix MPICH build issues + bump to clang 9 by @evaleev in #214
  • PaRSEC: Reverse iteration order in remove_data_copy by @devreal in #209
  • Remove std::function indirection in ttg::wrap by @devreal in #131
  • cleanup: X::type -> X_t, X::value -> X_v by @evaleev in #220
  • Ashawini27/fix/add debug capabilities by @Ashawini27 in #219
  • Store input types in tuple by @devreal in #217
  • make tuple of output terminals optional as an argument to TT's callable and DerivedTT::op by @evaleev in #223
  • Ashawini27/fix/spmm graph by @Ashawini27 in #225
  • Ashawini27/fix spmm by @Ashawini27 in #231
  • PaRSEC: improve data copy handling by @devreal in #206
  • spmm: correct terminal names + better internal dox by @evaleev in #228
  • ttg-mad defines the WORLD_INSTANTIATE_STATIC_TEMPLATES macro by @evaleev in #212
  • Provide ttg::rank, ttg::size, and ttg::invoke_once by @devreal in #232
  • Start working on the front page of user documentation by @therault in #208
  • make_tt{,_tpl} correctly bind to generic and nongeneric callables by @evaleev in #234
  • define TTG_IGNORE_BUNDLED_EXTERNALS to ignore (not install, not use) bundled external deps by @evaleev in #235
  • HOTFIX: make_tt without explicit out parameter does not manage well inline/recursive calling of function by @therault in #240
  • Adapt the github workflow to run on nektos/act by @devreal in #241
  • Github: set OMPI and PaRSEC related env variables and remove setlocale by @devreal in #242
  • Pull terminals functionality using containers. by @pnookala in #191
  • TTG composition, example of POINV, and a few fixes to parsec profiling by @therault in #238
  • Allow TTs to defer a writer if there are readers by @devreal in #233
  • ciao dplasma by @evaleev in #247
  • Set parsec_ttg_es to the comm thread in callbacks by @devreal in #236
  • PBT->CTF trace converter by @evaleev in #250
  • spmm: 2.5 d summa defaults to 2d summa by @evaleev in #254
  • [WIP] 2.5D SUMMA by @evaleev in #248
  • TTG over parsec master by @therault in #252
  • PaRSEC: replace thread-local variable with parsec_my_execution_stream() by @devreal in #257
  • Traverse all TTs even if an issue is found by @devreal in #258
  • Cast keys passed to invoke() to known key types by @devreal in #259
  • Synchronize on make_graph_executable by @devreal in #260
  • SPMM: take input by reference, not by value by @devreal in #261
  • TTG needs get_world() too by @evaleev in #268
  • TTG device tasks with coroutines by @devreal in #265
  • Purge Cereal-related code+mentions by @evaleev in #272
  • coroutine-based device task support by @evaleev in #269
  • [WIP] Device tasks with coroutines by @devreal in #253
  • Boost serialization: avoid virtual function calls by @evaleev in #275
  • SPMM: add Boost::graph as dependency by @devreal in #279
  • [ci] remove gcc refs on macos runner by @evaleev in #285
  • Pass argc/argv to allocator_init by @devreal in #280
  • Add device hints and return to PaRSEC main repo by @devreal in #283
  • Add static assert for task return and check for derived of ttg::coroutine_handle by @devreal in #286
  • Change guards for CUDA/HIP/L0 to TTG_ENABLE_* by @devreal in #281
  • [cmake] Boost::graph needs its dependencies to be spelled out fully by @evaleev in #288
  • POTRF: Add -P and -Q argument by @devreal in #287
  • PaRSEC:: fixes suspended task address assignment by @nileshchat in #290
  • MultiIndex has proper comparison operators by @evaleev in #289
  • update README with device example by @evaleev in #282
  • devsamp/main -> devsamp/helloworld by @evaleev in #291
  • Update ExternalDependenciesVersions.cmake by @evaleev in #295
  • Add devicemap to spmm benchmark by @devreal in #294
  • Consolidate make_tt_tpl and make_tt by @devreal in #297
  • Bump actions/{checkout, cache} version to v4 by @devreal in #302
  • Upstream improvements needed for MRA on devices by @devreal in #298
  • Nvcc warnings by @devreal in #305
  • PaRSEC: check for universal peer access by @devreal in #300
  • Implement simple sequenced keys constraint by @devreal in #273
  • Add TTG_USE_[PARSEC|MADNESS] to the ttg-parsec/ttg-mad targets by @devreal in #303
  • Add workflow for building TTG with CUDA support by @devreal in #306
  • [cmake] ttg-parsec w/o Boost serialization can be built even if Boost::serialization target is found by @evaleev in #309
  • Remove OpenMP dependency by @devreal in #312
  • Fix check for peer access. by @devreal in #311
  • Hotfixes for device execution by @devreal in #310
  • Flexible device inputs by @devreal in #304
  • Hotfix: reference global make_executable by @devreal in #314
  • Pass the Execution Space as TT template parameter by @devreal in #308
  • Replace buffer tracking with serialization inspection by @devreal in #301
  • PaRSEC: enable dag profiling if enabled through PaRSEC mca by @devreal in #315
  • Minor improvements to the documentation by @devreal in #292
  • Bump MADNESS tag by @nileshchat in #322
  • PaRSEC: Defer handling of messages if termination detector is not ready yet by @devreal in #321
  • [dox] switch doxygen to awesome CSS by @evaleev in #326
  • umpire-cxx-allocator is a required prerequisite, provides Umpire allocators without the need to bring in TiledArray by @evaleev in #320
  • make GitHub Actions manually-invocable by @evaleev in #327
  • Changes needed for MRA by @devreal in #325
  • Receive into device by @devreal in #316
  • 1.0.0 release prep by @evaleev in #328

Full Changelog: https://github.com/TESSEorg/ttg/commits/v1.0.0