Comments (3)
The application is that I want to adapt a nested data structure that stores a number of GPU arrays where the GPU arrays can have different numbers of dimensions (say schematically of type Vector{Union{MtlArray{Float32,1},MtlArray{Float32,2}}}
), so it isn't straightforward/possible to choose the number of dimensions ahead of time. Same thing with the element type, the GPU arrays could have different element types, i.e. Vector{Union{MtlArray{Float32,1},MtlArray{Complex{Float32},2}}}
.
from metal.jl.
I'm not sure that's so valuable. Why don't you just call adapt(MtlArray{eltype(x),ndims(x),Managed}, x)
? The MtlArray
-based adaptor shouldn't ever change the eltype
.
from metal.jl.
This could of course be done with custom adapters, but I prefer to not need to define my own adapters if it can be avoided and also give users options that "just work" that are directly from the GPU ecosystem so we don't have to support our own custom GPU functionality/interfaces.
from metal.jl.
Related Issues (20)
- Segmentation Faults HOT 11
- Port `accmulate!` and `findall` from CUDA.jl HOT 8
- `MTL.append_copy!` silently ignores Metal documentation restriction HOT 2
- Tests failing with `GPUCompiler` v0.26.5 and `LLVM` v7.1 HOT 3
- downgrades LLVM HOT 2
- Missing public/exported docstrings HOT 1
- Audit exports/public symbols HOT 1
- sqrt(::Complex) unsupported due to conversion exceptions HOT 3
- Compilation failure on 1.11 HOT 1
- Metal 3.1 and 3.2 HOT 3
- M1/M2: Large matrix multiplications can contains NaNs HOT 18
- `MTLBinaryArchive`
- `Metal.code_agx()` failing in MacOS 15 Beta 3 HOT 2
- Test for min / max broadcasting issue HOT 3
- Add a `metal_version` function
- Type piracy HOT 1
- Potentially unused code in gpuarrays.jl
- Control flow-related miscompilation:
- Backslash operator failing HOT 1
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 metal.jl.