---
# System prepended metadata

title: Compile NAMD-2.14

---

# Compile NAMD-2.14

[HiPac 3 Release Note and informations](https://hackmd.io/2deAUP8zQ-u1giVioCOdaQ)

Notice:
With icc 2021.4.0 : must have icc and gcc-9 and g++-9
Verify with `icc --version`

With mkl : must have mkl
To verify `mkl_help`(Not sure)

With cuda-11.* : must have cuda-11.*(below cuda-12.0)
To verify `nvcc --version`


With fftw3-3.3.10. : must have fftw3
To verify `fftw-wisdom --version`
And check the output `fftw-wisdom tool for FFTW version 3.3.10.
`

With verbs : must have infiniteband hardware and Mellanox OFED Driver
To verify `ibv_devinfo`
And should not be `No IB devices found`

with ucx : must have ucx (im not sure)
Im not sure how to verify.

NOTE:
If you want cpu only, remove 
```
--with-cuda --cuda-prefix /usr/local/cuda \
--cuda-gencode arch=compute_70,code=sm_70 \
--cuda-dlink arch=compute_70,code=sm_70
```

## verbs cuda

###### namd-2.14_Linux-x86_64-icc_verbs-linux-x86_64-smp-icc_fftw3_cuda11.8_cuda-gencode_cuda-dlink 

```ls /us    
./build charm++ verbs-linux-x86_64 icc smp --with-production
```
```
./config \
Linux-x86_64-icc \
--charm-arch verbs-linux-x86_64-smp-icc \
--with-fftw3 --fftw-prefix /usr \
--with-mkl --mkl-prefix /opt/intel/oneapi/mkl/ \
--cxx icpc --cxx-opts "-O3 -xHost -ipo" \
--cc icc --cc-opts "-O3 -xHost -ipo" \
--with-cuda --cuda-prefix /usr/local/cuda \
--cuda-gencode arch=compute_70,code=sm_70 \
--cuda-dlink arch=compute_70,code=sm_70
```

###### namd-2.14_Linux-x86_64-g++_verbs-linux-x86_64-smp-gcc_fftw3_cuda11.8_cuda-gencode_cuda-dlink 
verbs + cuda must have smp
```
./build charm++ verbs-linux-x86_64 gcc smp --with-production
```
```
./config \
Linux-x86_64-g++ \
--charm-arch verbs-linux-x86_64-smp-gcc \
--with-fftw3 --fftw-prefix /usr \
--with-mkl --mkl-prefix /opt/intel/oneapi/mkl/ \
--cxx g++ --cxx-opts "-O3" \
--cc gcc --cc-opts "-O3" \
--with-cuda --cuda-prefix /usr/local/cuda \
--cuda-gencode arch=compute_70,code=sm_70 \
--cuda-dlink arch=compute_70,code=sm_70
```

## ucx cuda
###### namd-2.14_Linux-x86_64-icc_ucx-linux-x86_64-smp-icc_fftw3_cuda11.8_cuda-gencode_cuda-dlink 
ucx + cuda must have smp
```
./build charm++  ucx-linux-x86_64 icc smp --with-production
```
```
./config \
Linux-x86_64-icc \
--charm-arch  ucx-linux-x86_64-smp-icc \
--with-fftw3 --fftw-prefix /usr \
--with-mkl --mkl-prefix /opt/intel/oneapi/mkl/ \
--cxx icpc --cxx-opts "-O3 -xHost -ipo" \
--cc icc --cc-opts "-O3 -xHost -ipo" \
--with-cuda --cuda-prefix /usr/local/cuda \
--cuda-gencode arch=compute_70,code=sm_70 \
--cuda-dlink arch=compute_70,code=sm_70
```

## single_node cuda
###### namd-2.14_Linux-x86_64-icc_multicore-linux-x86_64-icc_fftw3_cuda11.8_cuda-gencode_cuda-dlink 
```
./build charm++  multicore-linux-x86_64 icc --with-production
```
```
./config \
Linux-x86_64-icc \
--charm-arch  multicore-linux-x86_64-icc \
--with-fftw3 --fftw-prefix /usr \
--with-mkl --mkl-prefix /opt/intel/oneapi/mkl/ \
--cxx icpc --cxx-opts "-O3 -xHost -ipo" \
--cc icc --cc-opts "-O3 -xHost -ipo" \
--with-cuda --cuda-prefix /usr/local/cuda \
--cuda-gencode arch=compute_70,code=sm_70 \
--cuda-dlink arch=compute_70,code=sm_70
```