Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kmp5/feature/cp #335

Merged
merged 216 commits into from
Mar 10, 2023
Merged

Kmp5/feature/cp #335

merged 216 commits into from
Mar 10, 2023

Conversation

kmp5VT
Copy link
Contributor

@kmp5VT kmp5VT commented Apr 9, 2022

Making CP base class and CP-ALS, RALS and TN-CP-ALS derived classes using TA.

kmp5VT and others added 30 commits May 18, 2021 23:26
… Instead of building an extra tile with potentially a few number of elements, it simply adds one element to existing tiles. Update vector_of_arrays and test cases to use this logic
One must split up the number of tiles which have extra elements between procs (so 10 tiles with extra elements will split 5 and 5 between procs)
Because the pmap isn't guaranteed to be round robin style, I need to calculate the offset and the number of extra tiled arrays for each index in the pmap instead of once before the loop.
…ture/rr_extra_tile to catch up to MPQC's latest TA version
evaleev added 27 commits March 8, 2023 19:13
- TA::{rand,drand} are reentrant versions of rand and drand48 that uses Boost.Random's mt19937 and uniform distribution classes (the latter is needed to produce platform-portable results, see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2059r0.pdf ) ... TA::srand controls the seeds of the thread-specific random engines
- MakeRandom now uses TA::rand instead of std::rand ... the latter is not reentrant so technically any use of DistArray::fill_random was UB ... single-threaded version of DistArray::fill_random to get random tensors witrh contents independent of schedule will be introduced in a separate commit
…les,fill_random}

default is to use MADWorld's taskq, but useful with non-reentrant ops or, even when op is reentrant, e.g. to ensure that same random tensor is generated by DistArray::fill_random (since initial state of every thread-specific random engine is the same tiles generated by different threads will initially have the same content ... )
…ordinal-accessors

disambiguate rank 1 index vs ordinal accessors
@evaleev evaleev merged commit afe92ac into master Mar 10, 2023
@evaleev evaleev deleted the kmp5/feature/CP branch March 10, 2023 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants