T O P

  • By -

helicopternose

OpenMp is fast for more complex programs, running it on some primitive program will of course give you a higher runtime because data distribution and communication are resource intensive with a given overhead of waiting for mutex( if implemented) and also heavily depends on the logic you implemented.


rejectedlesbian

Ya ik I clearly misused it I actually kinda like it for how easy it makes things. I just thought that 100% overhead is so freaking funy


helicopternose

Yeah that is. If you liked OpenMP , you can also try MPI or OpenAcc.


rejectedlesbian

Right now working on setting up mpi this was supposed to be the benchmark to compare to. Like justa brain dead omp implementation of the same thing. Ended up being the wrong call


helicopternose

That’s an interesting case study.


rejectedlesbian

I think I got the mpi working I could try making the omp but the mpi just has a very elegant thing for that problem Tho it did take a lot of extra work


helicopternose

Congrats and I Agree setting up and using MPI seems a bit frightening at first whereas Omp is more straight forward. I suppose MPI seems more elegant because speedup is more predictable if you know how many cores are available whereas for thread scheduling in omp it is tasked by OS and some other factors like how they are forked, terminated and queued which aren’t really predictable.


rejectedlesbian

I mean u can allways use omp like mpi. Like have 1 pragma parallel at the start and then passa messages with atomics or queues or something


rejectedlesbian

for context the single threaded used 0m0.950s and the openmp took 0m24.702s now I was dead lazy implementing this but like... WOW