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

Do we need separate MultiCPU and MultiGPU architectures? #2020

Closed
glwagner opened this issue Oct 20, 2021 · 1 comment
Closed

Do we need separate MultiCPU and MultiGPU architectures? #2020

glwagner opened this issue Oct 20, 2021 · 1 comment
Labels
abstractions 🎨 Whatever that means

Comments

@glwagner
Copy link
Member

The two structs are identical:

struct MultiCPU{G, R, I, ρ, C, γ} <: AbstractCPUArchitecture
distributed_grid :: G
local_rank :: R
local_index :: I
ranks :: ρ
connectivity :: C
communicator :: γ
end
struct MultiGPU{G, R, I, ρ, C, γ} <: AbstractGPUArchitecture
distributed_grid :: G
local_rank :: R
local_index :: I
ranks :: ρ
connectivity :: C
communicator :: γ
end

An alternate design would use a single DistributedArchitecture (or something), with a property child_architecture that could be CPU or GPU.

Doing this would require us to get rid of AbstractCPUArchitecture and AbstractGPUArchitecture (or turn them into type unions). I don't think we use these abstract types, do we?

@ali-ramadhan @kpamnany

@glwagner
Copy link
Member Author

This are a bit different now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abstractions 🎨 Whatever that means
Projects
None yet
Development

No branches or pull requests

2 participants