Thanks for the follow-up. Here are the specifics of the two setups I'm comparing:
ASE Interface: For this setup, you can refer to the ase_driver.py file I attached previously. It primarily uses ASE's SocketClient to communicate with i-pi.
Internal MACE Driver: For this setup, the command I used can be found in run.sh. The command is:
i-pi-py_driver -a 1 -u -m mace -o template=../../init/init.xyz,model=../../init/MACE-OFF24_medium.model,mace_kwargs=./mace_config.json,device=cuda
The mace_config.json file includes two additional MACE calculator parameters to ensure the settings are consistent with the ASE interface setup.
All other settings for both methods were identical.
Regarding the performance difference, the ASE interface ran at approximately 0.06 s/step, while the internal MACE driver ran at 0.09 s/step. Both simulations were run for several thousand steps.