-
Notifications
You must be signed in to change notification settings - Fork 99
Add distributed capabilities #1133
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
Merged
Merged
Changes from all commits
Commits
Show all changes
204 commits
Select commit
Hold shift + click to select a range
a233e35
add kernels for intermediate norm computation
MarcelKoch c9af255
add distributed vector class
MarcelKoch 0e94339
add tests for distributed vector
MarcelKoch 71c9737
rework read distributed reference kernels
MarcelKoch 4326e3d
fix formatting
MarcelKoch 929eadc
make name of constant accessor more reflective
MarcelKoch 3c92d68
update local vector typename
MarcelKoch dda490c
minor refactoring
MarcelKoch b0f25b9
Format files
ginkgo-bot 60ab604
use GPU aware MPI if specified
MarcelKoch b853799
review updates
MarcelKoch ab295fd
adds DenseCache to reuse a dense vector without repeated allocations
MarcelKoch 7407092
fixes switch to soa of device matrix data from rebase
MarcelKoch e75553b
remove partition from read* and make partition mandatory in constructor
MarcelKoch b33932a
remove partition member from vector
MarcelKoch 64744f1
Format files
ginkgo-bot fb83613
keep communicator on assignment
MarcelKoch 4ecea25
review updates
MarcelKoch b7ff630
refactor cmake mpi test handling
MarcelKoch 0785f70
adds missing typedef documentation
MarcelKoch c374113
adds exec initializer with MPI for common test
MarcelKoch ec2635b
fix need for host buffer check
MarcelKoch f20af86
add common mpi test for vector
MarcelKoch 263727f
adds constructor from local vector
MarcelKoch 7d072b5
adds create_real_view to distributed vector
MarcelKoch 6e77249
move read_distributed impl to .cpp
MarcelKoch 59f4ce3
use unique ptr for local vector parameter
MarcelKoch 31a1bfa
add constructor tests
MarcelKoch 58c351a
review updates
MarcelKoch fc90d8c
add read_distributed device kernels
MarcelKoch 3b1de7a
add test to check create_real_view behaviour
MarcelKoch e15b1e4
fix formatting and test
MarcelKoch 8779b20
review updates
MarcelKoch 9bd2919
always mark lambdas as host device
MarcelKoch 156aa8c
merge reference and common mpi tests
MarcelKoch fb27038
wip: update dpcpp kernels
MarcelKoch 62fc32e
review updates
MarcelKoch f441fdf
disable dpcpp kernels
MarcelKoch 18e8a66
only allow const access to local vector
MarcelKoch 76317cb
Format files
ginkgo-bot ab90bd8
fixes sonarcloud issues where it makes sense
MarcelKoch ebdd6d5
review updates:
MarcelKoch b1dacd1
Format files
ginkgo-bot 5daaddc
Format files
ginkgo-bot a81454d
Merge distributed vector
MarcelKoch 395167b
add test generator for device matrix data
MarcelKoch 33c0275
Merge device (CUDA/HIP) kernel for Vector read_distributed
MarcelKoch 588c8bf
adds row distributed matrix class
MarcelKoch 6667894
add omp read_distributed matrix kernel
MarcelKoch 0e9e741
add distributed matrix apply test
MarcelKoch add26cf
remove partition member from distributed matrix
MarcelKoch 94886e3
fixes handling of multiple right-hand-sides for distributed apply
MarcelKoch 3662d7c
updates documentation
MarcelKoch fb97f94
adds convert to next precision
MarcelKoch 73c2852
use MPI_COMM_WORLD as default communicator for matrix
MarcelKoch 3f0eef4
updates distributed matrix mpi reference tests
MarcelKoch c73ba31
fix read_distribution host buffer check and convert_to
MarcelKoch 8b0fe71
fix cmake after rebase
MarcelKoch 18ab198
adds distributed matrix common mpi test
MarcelKoch 68b5b66
adds non const real_view to distributed vector
MarcelKoch 61f07d4
formatting & read_distributed kernel fix
MarcelKoch dd3928a
adds tmp array to compute_squared_norm2
MarcelKoch b66f3a2
move device_matrix_data resize_and_reset into header
MarcelKoch 914d7cf
adds reduction with tmp array to distributed vector
MarcelKoch 971ee50
Add long long support
pratikvn b9fe227
adds dispatch for distributed vector
MarcelKoch 9ee139f
remove not implemented and unused kernel declaration
MarcelKoch 8ab88d4
adds helper functions to access local data of dense/dist::vector
MarcelKoch df13542
small read_distributed clean up
MarcelKoch 8f24902
adds create_with_config_of and get_stride to distributed vector
MarcelKoch b473df0
don't use device_matrix_data.resize in kernel
MarcelKoch 2eee134
adds distributed capabilities to some solvers
MarcelKoch 65b7cfe
remove mutable local matrix access
MarcelKoch bc85236
add distributed dispatch to residual norm criteria
MarcelKoch 7070b88
Revert "move device_matrix_data resize_and_reset into header"
MarcelKoch 4a336e8
adds distributed solver example
MarcelKoch 3ee07e3
fixes missing implementation of vector::get_[const_]local_values
MarcelKoch 8bd6348
small rename
MarcelKoch 08fd00c
add value semantics
MarcelKoch 2238b21
add distributed dispatch to identity
MarcelKoch 189b705
allows specifying different partition for rows and cols
MarcelKoch 798ada8
add generic distributed solver tests
MarcelKoch a38b2d1
adds documentation of the main class
MarcelKoch 7141399
fixes residual norm dispatch
MarcelKoch 649f93e
switch to runtime matrix types
MarcelKoch 4085ea5
adds mixed + complex apply to solver tests
MarcelKoch 77e2eed
review updates
MarcelKoch 241041c
adds complex-to-real dispatch for distributed
MarcelKoch 1479b9c
fix doc handling of predefined macros
MarcelKoch afd7578
fixes non-mpi residual norm dispatch
MarcelKoch cd6ef94
fix some distributed documentation
MarcelKoch b1f1ed5
adds precision dispatch to distributed matrix apply
MarcelKoch e21da06
review updates
MarcelKoch d458f7b
fix formatting
MarcelKoch 2fcf8de
add documentation for runtime local matrix type
MarcelKoch 889c32f
review updates
MarcelKoch 00976fb
add omp read_distributed matrix kernel
MarcelKoch c9a6169
add communicator size check to copy/move assignment
MarcelKoch efb18b7
Format files
ginkgo-bot 2ddc06a
kernel return send sizes instead of offsets
MarcelKoch 98a9601
use arrays instead of device_matrix_data in read_distributed kernels
MarcelKoch c7a8483
review updates
MarcelKoch 1a99c5b
thrust implementation of read_distributed kernels
MarcelKoch 4c7b997
Format files
ginkgo-bot 2f6488c
review updates
MarcelKoch ce221ef
remove unnecessary iteration over all input elements
MarcelKoch eb7212f
fix Array->array renaming
MarcelKoch d26bef1
add i_send/i_recv with datatypes
MarcelKoch 4433198
adds common test for distributed matrix kernels
MarcelKoch ca39451
remove noexcept from distributed matrix move assignment
MarcelKoch e5edbd1
use template vector type for Idr iterate
MarcelKoch 8c3d6bc
update dpcpp kernels
MarcelKoch bf3493c
review updates
MarcelKoch f5de4d0
use device allocation mode and disable device reset for distributed t…
MarcelKoch db4de8e
remove dpcpp kernels
MarcelKoch bd46a78
review updates
MarcelKoch 5e19549
Format files
ginkgo-bot 3914cd4
Format files
ginkgo-bot 345e3bb
synchronize device before all-to-all
MarcelKoch c398bdc
Format files
ginkgo-bot 8acda25
review updates:
MarcelKoch 45f6a91
review updates:
MarcelKoch 18d8b06
fixes matrix' copy and move assignment
MarcelKoch 6cbc03f
unify distributed matrix tests
MarcelKoch c095b41
rename locally stored matrices
MarcelKoch 0407086
adds distributed example kind
MarcelKoch ee4cf1b
update to logger changes
MarcelKoch a0c1bc9
review updated:
MarcelKoch c124517
removes template apply_impl of Bicg
MarcelKoch a4ef007
Format files
ginkgo-bot 4accc7f
review updates:
MarcelKoch 8da0935
review updates:
MarcelKoch 84d67fd
review updates:
MarcelKoch f1382fe
review updates:
MarcelKoch 13bd3d0
fixes residual_norm precision dispatch for non-mpi
MarcelKoch ebcb060
review updates:
MarcelKoch 8df0534
Format files
ginkgo-bot 19bdb73
adds test with different partition types
MarcelKoch 16a5cd3
Format files
ginkgo-bot e52ec14
review updates:
MarcelKoch 4de6953
removes special case if no non-local matrix
MarcelKoch 3e2f60b
fix distributed tests
upsj b765814
Merge distributed matrix
MarcelKoch 123f3aa
frees mpi request and makes it move-only
MarcelKoch 6353aa3
Merge distributed matrix kernels
upsj 9cdd7d0
review updates:
MarcelKoch 8ec9757
fix cmake after rebase
MarcelKoch f90097e
Merge distributed solvers
MarcelKoch 2033445
adds RAII move-only type to set device id generically
MarcelKoch d2f9568
remove old device guard
MarcelKoch bfcf8ce
add mapping from rank to device id
MarcelKoch 14e9d42
add mapping if not building mpi
MarcelKoch 06e26ad
fix non-mpi rank->device_id map and mpi wait
MarcelKoch 46c6646
fix header guard
MarcelKoch 8a5f9d7
remove default constructor for communicator
MarcelKoch df6c417
fix device guard in cuda linops for benchmarks
MarcelKoch 4d28610
adds documentation to scoped device id classes
MarcelKoch df99ae3
add tests for scoped_device_id
MarcelKoch 812d5ce
fix various compilation issues
MarcelKoch 67119ce
review updates:
MarcelKoch 072a311
enables move operations for device guard at all times
MarcelKoch 930d567
removes initialized check in map_rank_to_device_id
MarcelKoch abb3c39
sets scoped_device_id for MPI calls with buffers
MarcelKoch f2af99c
adds traits struct to for polymorphic object implementations
MarcelKoch 0d87f72
use traits for conversion
MarcelKoch 142099d
implements polymorphic_object_traits for distributed types
MarcelKoch 3687038
updates comm call sites with executor argument
MarcelKoch 047610c
review updates:
MarcelKoch a72146d
review updates:
MarcelKoch 5a1f735
Format files
ginkgo-bot 7e0b576
review updates:
MarcelKoch 0ff799e
moves scoped_device_id implementations into module code
MarcelKoch 028b528
changes friend class po_traits -> friend struct po_traits
MarcelKoch e33fb00
Format files
ginkgo-bot 2d72d1d
adds guard suffix to scope classes
MarcelKoch cdf89ae
fixes guard use in non-member function
MarcelKoch 7a51a13
fixes renaming
MarcelKoch dd7fc44
adds omp_device to reference lib
MarcelKoch 1f4e8ec
moves implementation of ReferenceExecutor method back into header
MarcelKoch d477926
Format files
ginkgo-bot 06b1b4a
Merge adding device-id guard to MPI communicator and polymorphic_obje…
MarcelKoch 95377ca
fixup cmake after rebase
MarcelKoch 258267f
adjusts distributed test to test updates
MarcelKoch ac9f49f
adds tests for rank to device-id mapping
MarcelKoch 5e42487
moves new distributed additions into experimental namespace
MarcelKoch 6095d88
Format files
ginkgo-bot e307c8a
makes generic_scoped_device_id_guard destructor noexcept
MarcelKoch 92b8958
fixes MPI tests
MarcelKoch 15185ff
checks correct comm size only when necessary in tests
MarcelKoch 3b90dbe
returns correct exit code from mpi tests
MarcelKoch ff631e0
always initializes scalar solver variables (CG/CGS/FCG/BICG/BICGSTAB)
MarcelKoch 289c01d
adds all_to_all_v overload with mpi datatypes
MarcelKoch 3ebf663
uses blocking comm if openmpi version is less than 4.1
MarcelKoch 2c05a79
removes false positives in test for openmpi version
MarcelKoch 9731f45
review updates:
MarcelKoch 2bc941c
moves Partition into experimental namespace
MarcelKoch a9c6076
moves distributed dispatch into experimental namespace
MarcelKoch db86d19
review updates:
MarcelKoch 7757bf5
review updates:
MarcelKoch 832d184
moves mpi wrapper into experimental namespace
MarcelKoch 8844c90
Format files
ginkgo-bot ca3538a
adds explicit error message to device id guard destructor failure
ginkgo-bot 8f8f5a0
replaces extremely slow horeka test with nla-gpu
MarcelKoch b59a9dd
fixes scoped device id guard test
MarcelKoch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.