Giter Site home page Giter Site logo

Print function fails on GPU about simit HOT 5 OPEN

touste avatar touste commented on June 11, 2024
Print function fails on GPU

from simit.

Comments (5)

fredrikbk avatar fredrikbk commented on June 11, 2024

Hi @touste, I don't think the printing functionality will work on GPUs. Can you debug on the CPU?

from simit.

touste avatar touste commented on June 11, 2024

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.

fredrikbk avatar fredrikbk commented on June 11, 2024

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.

fredrikbk avatar fredrikbk commented on June 11, 2024

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.

touste avatar touste commented on June 11, 2024

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:

  1. Some functions are missing an implementation for the GPU, for example the cross function, or linear solver functions.
  2. 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.
  3. 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:

  1. ability to launch different mapping functions simultaneously
  2. implementation of sparse system solvers for the gpu
  3. optimize gpu block size for each kernel

Thanks!

from simit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.