Comments (5)
Hi @touste, I don't think the printing functionality will work on GPUs. Can you debug on the CPU?
from simit.
Hi @fredrikbk, thanks for your reply. Yes I usually debug on the CPU however sometimes the program behaves a bit differently on the GPU. Not havint printing capabilities on the GPU is not a major issue, I was just wondering if there was an easy way to fix it.
from simit.
Yes, that makes sense, but unfortunately I don't think NVidia GPUs support printing (unless it's been added without me noticing). The program behaving different is worrying though. Perhaps it's just the non-associativity of floating point numbers. I think once we get a shared-memory parallel implementation we'll be able to diagnose some of that using prints.
from simit.
Aside, out of curiosity, what do you use Simit for? You might be interested in knowing that we have a new student here that will be picking it up, so it should start moving again.
from simit.
Hi Fredrik,
I'm not sure about printing support from the GPUs, although I think it's possible using cuda.
Regarding the different behaviour, here are 3 cases where I noticed a difference between CPU and GPU:
- Some functions are missing an implementation for the GPU, for example the cross function, or linear solver functions.
- If I modifying a scalar variable in the c++ file that is binded to a simit function between 2 function calls (using runsafe), it is not modified in the simit workspace.
- Some slightly different numerical results, but as you say it must be due to numerical errors.
Anyway, I'm glad Simit is picking up steam again. I'm using it to prototype a fast finite element code for real-time simulations of surgical procedures. In my case the GPU implementation comes handy, and SIMIT is a very efficient and elegant way to get high performance code without facing GPU programming.
You probably already have a lot of ideas for future development, but here are a few things that should be easy to implement and would improve performance a lot on my side:
- ability to launch different mapping functions simultaneously
- implementation of sparse system solvers for the gpu
- optimize gpu block size for each kernel
Thanks!
from simit.
Related Issues (20)
- Assert macro names should be prefixed by "simit_"
- Assert Failed assignment lhs contains slice
- Add examples from published paper HOT 3
- Simit does not compile with SIMIT_CUDA_ENABLE HOT 1
- GPU performance worse than CPU HOT 4
- Compiling on latest ArchLinux - LLVM 6.0 HOT 2
- Simit compilation errors HOT 3
- FEM app compilation error HOT 1
- CMake Error at src/CMakeLists.txt:57 HOT 2
- Is Simit still being maintained? HOT 1
- Constant externs
- Error assembling diagonal edge-edge matrix HOT 1
- make += operator more explicit
- Add conditional operator
- Function inlining cost model
- Loop fusion
- global const and literals
- taco integration
- Dataflow analysis framework
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 simit.