Comments (6)
Yeah this decision is always a hard one. What to do with heterogeneous arrays or arrays on different devices. GPUArrays currently fails on heterogenous arrays.
For mixed devices, I presume HSA supports page-faulting memory in from a different device? If so I would choose a device (were that choice can be informed or a guess).
from amdgpu.jl.
Yes, we only allocate so-called finegrained memory, which is page-fault friendly. If you see my latest pull of memory.jl into the codebase, all upload/download/transfer operations are just implemented as ccall(:memcpy)
since it's technically valid and I'm too lazy to figure out how to be efficient right now.
What I think we can/should do when there are multiple devices involved in OOP operations is just allocate solely on the default GPU (the one set by set_default_agent!
), and then rely on contextual dispatch to change that value wherever the user wants to use a different default.
from amdgpu.jl.
Fat-fingered the close button, thanks phone!
from amdgpu.jl.
Oh, I see what you meant about page-faulting from another device. That would need the ROCm RDMA stuff working most likely. I do plan on implementing that eventually but not right now. Currently we'll just do cross-GPU memory transfer on the host.
from amdgpu.jl.
Transferring issue (instead of closing) in case this still needs to be addressed for ROCArray
from amdgpu.jl.
We now allocate coarse-grained memory for ROCArray
s, we just allocate new arrays onto the default device, and we have an upload
/download
/transfer
API, so I'm closing this.
from amdgpu.jl.
Related Issues (20)
- @atomic is slow within AMDGPU.jl HOT 30
- AMDGPU fails test and crashes when initialized HOT 6
- Update rocSPARSE to ROCm 6.0 HOT 4
- Trying to import AMDGPU fails with (an lvm?) error HOT 7
- `reduce(f, A)` fails to compile if Julia is started with `--check-bounds=no`
- ERROR: HIPError(code hipErrorOutOfMemory, out of memory) HOT 7
- rocSPARSE tests hang Navi 3
- Error triggered by synchronize() HOT 3
- Multithreading code hangs HOT 3
- 2-`norm` for views of ROCArray falls back to scalar indexing
- Assertion failure due to illegal implicit addrspacecast
- Explore removing `always_inline` compiler option
- Rework hard memory limit with `maxSize` option HOT 1
- macOS GitHub Actions CI stuck on adding AMDGPU.jl HOT 2
- i get error when i call AMDGPU.rocBLAS.gemm_strided_batched!
- Failures when using ROCM builds that have particular type of debug info in them (both in JLL-mixed-mode and in system-ROCM mode), e.g. on Arch Linux HOT 1
- MI300X (gfx942) support for broadcast operations HOT 9
- error: Opaque pointers are only supported in -opaque-pointers mode HOT 11
- Adopt maybe collect garbage collection scheme similar to CUDA.jl
- GPUCompiler.CodeCache not defined HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amdgpu.jl.