# The tutorial of gmxapi with cpp version

**URL:** <https://gromacs.bioexcel.eu/t/the-tutorial-of-gmxapi-with-cpp-version/4177>\
**Category:** User discussions\
**Tags:** gmxapi\
**Created:** [May 16, 2022, 10:16am UTC](https://gromacs.bioexcel.eu/t/the-tutorial-of-gmxapi-with-cpp-version/4177 "2022-05-16T10:16:29Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![haidee](https://avatars.discourse-cdn.com/v4/letter/h/d07c76/32.png) [@haidee](https://gromacs.bioexcel.eu/u/haidee)\
**Post date:** [May 23, 2022, 11:11am UTC](https://gromacs.bioexcel.eu/t/the-tutorial-of-gmxapi-with-cpp-version/4177/6 "2022-05-23T11:11:31Z")

</div>

Thank you very much for your patience. Your reply is very helpful to me.  
I am very interested to consult you on two aspects.

1. Why C++?  
Although most deep learning frameworks use Python to express the structure of neural networks, use C++ to [create operator](https://www.tensorflow.org/guide/create_op).  
With the application of deep learning in molecular dynamics simulations, I wanted to mix Gromacs with neural networks. In other words, Gromacs are interspersed with neural networks.  
So I want to treat em, nvt, npt, and md as operators, but not a neural network.  
Based on the above two points, C++ API is more suitable for me to create custom operators.

2. NBLib  
I investigated NBLib before. However, I found that NBLib can only simulate md(molecular dynamic) from [this website](https://gromacs.bioexcel.eu/t/nblib-usage/2893). It cannot simulate nvt and npt. So if I chose to use NBLib, is there a way to add nvt,npt, and em?

---

_[View the full topic](https://gromacs.bioexcel.eu/t/the-tutorial-of-gmxapi-with-cpp-version/4177)._
