← Back to team overview

yade-users team mailing list archive

Re: [Question #699458]: about -j XX and accelerate in yadedaily

 

Question #699458 on Yade changed:
https://answers.launchpad.net/yade/+question/699458

Robert Caulk posted a new comment:
Hello Ziyu,

I appreciate the curiosity for the code, but I must admit, it is a bit
frustrating to re-answer this same question 5 times per year in this
forum. Please consider searching through the forum a bit more deeply
before requesting our assistance. The reason I add information here is
because you've made incorrect statements about Yade OpenMP and MPI, and
thus I need to correct the record.

>>The current - j option implements multithreaded parallel computing
through OpenMP, but this method is limited at present.

You may be a bit mistaken here. Yade's OpenMP implementation is, in no
way, "limited." It is quite robust, effective, debugged, and working in
many different aspects of the code. What you believe to be "limited" is
that you cannot speed up a 2000 particle simulation with 96 cores. This
is the same case for all OpenMP applications, it is not *unique* to
yade. So let's be clear there is nothing wrong or "limited" with Yade's
implementation of OpenMP.

>> So I assume that for "basic" settings, the own computer is just
simply faster than the workstation.

I confirm Jan's answer here. "Workstations" (high core count computers)
are not designed to be the best at single threaded applications. They
are designed for large parallelizable problems. Home desktops are
designed to load facebook quickly. Hence the focus on higher clock speed
than core count. I dont think anyone, in any computational field, would
consider 2000 particles to be considered a large parallelizable problem.

>>MPI[1] is another parallel computing method, and I can adjust the multithreaded openMPI computing for Yade using.
>>However, I am not involved in the project and don't know if / how it works, its limitations etc.

MPI* is in fact another parallel computing method. However, I do not
know what "adjust multithreaded openMPI" means. To summarize MPI, it is
allowing separate computers to work on the same problem. In comparison
OpenMP, shared memory, is allowing separate cores of a single CPU to
work on the same problem. As you can imagine the MPI implementation is
much more difficult for implementation, and the communication between
computers takes time. So no, MPI will *NOT* speed up your 2000 particle
problem. IT will certainly slow it down. Also keep in mind that MPI is
relatively new to yade, so there is a higher risk of encountering bugs,
relative to OpenMP. Additionally you should consider that using MPI in
yade requires at least some fundamental knowledge of how MPI works, so
that you are setting up the problem correctly. In comparison, OpenMP
requires zero knowledge from a coding perspective.

-rc

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.