Comments (2)
I investigate more this issue. I think at some point we should be able to find a better abstraction model in ExaPF.jl
. Thinking more about it, I am wondering if we could add a dependency to KernelAbstractions.jl. The idea would be to define the code we are deporting to GPU in a @kernel
macro, and then dispatch to CPU/GPU with a dedicated statement, e.g.
if isa(a, Array)
kernel! = powerflow_kernel!(CPU(), 4)
else
kernel! = powerflow_kernel!(CUDADevice(), 256)
end
kernel!(pf_inputs, ndrange=a_size_for_pf)
(this snippet is adapted from this example).
However, I am wondering whether KernelAbstractions
is mature enough. Maybe we could use the JuliaCon as an opportunity to discuss with the developers?
edit: I checked, and the talk about KernelAbstractions
is just after yours, Michel :-)
from exapf.jl.
Solved by #15
from exapf.jl.
Related Issues (20)
- Unable to run code in the Quick Start HOT 3
- Lack of community guidelines HOT 1
- Store factorization in LinearSolver.DirectSolver HOT 1
- Release 0.5.0
- TagBot trigger issue HOT 14
- Time to first power flow HOT 1
- Add support to single precision
- Move the optimization evaluators in a separate package HOT 1
- ExaPF 0.6 HOT 1
- Power flow solver does not match MATPOWER when phase shift is nonzero HOT 1
- Improve code coverage in ExaPF
- Fix evaluation of `voltage_magnitude_constraints` on GPU HOT 1
- Line flow's adjoint is slightly off HOT 2
- Wrap UMFPACK in ExaPF.LinearSolvers HOT 1
- Wrap KLU in ExaPF HOT 1
- FiniteDiff.jl update broke the tests on the GPU
- Broken GPU example HOT 10
- Minor Release 0.9.2 HOT 1
- Release 0.10 HOT 4
- Switch default linear solvers and remove some
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 exapf.jl.