You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
using zmq simplifies the communication between the primary process and the subprocess.
with __getattribute__() we can overwrite the functions of a given class.
with cloudpickle we can even pickle ctypes
So for the next version of pylammpsmpi I guess we need much less code. Just load the LAMMPS library class and then before a function is called, interfere using __getattribute__(), cloudpickle the data that is communicated transfer it to the MPI parallel subprocess and then execute the call there. Afterwards cloudpickle the response and communicate it back up. This should drastically decrease the code base for pylammpsmpi and increase the consistency with the official LAMMPS python API.
The text was updated successfully, but these errors were encountered:
Certain functions are only called on MPI.COMM_WORLD.rank == 1 so the internal call might look different from the outside call on the serial executable.
jan-janssen
changed the title
Next generation interface
[Idea] Next generation interface
Jul 13, 2023
There are three things we learned so far:
zmq
simplifies the communication between the primary process and the subprocess.__getattribute__()
we can overwrite the functions of a given class.cloudpickle
we can even picklectypes
So for the next version of
pylammpsmpi
I guess we need much less code. Just load the LAMMPS library class and then before a function is called, interfere using__getattribute__()
,cloudpickle
the data that is communicated transfer it to the MPI parallel subprocess and then execute the call there. Afterwardscloudpickle
the response and communicate it back up. This should drastically decrease the code base forpylammpsmpi
and increase the consistency with the official LAMMPS python API.The text was updated successfully, but these errors were encountered: