NAMD is designed to run as a distributed application under UNIX with communication performed by PVM. The source code is written entirely in C and C++. We have successfully ported NAMD to all of our UNIX machines, which include HP, SGI, Sun, and Linux, both single processor and shared memory multiprocessor.
There is one note of concern. Performance has been poor on our dual processor Linux cluster. The problem seems to be a result of the number of system calls that are made from the PVM library from the namd process (over 50000 calls to gettimeofday and over 30000 calls to select in 8 timesteps, mostly from the function mxfer() in $PVM_ROOT/src/lpvm.c). We are not sure whether this is a problem with PVM under Linux or with the way in which NAMD is using PVM. We have tested using PVM versions 3.3.11 and 3.4 on RedHat Linux distributions Manhattan and Wiglaf. The problems are only evident when using more than one node. NAMD performs fine on a single node. We will continue to examine this problem for possible solutions, but any help is welcome.
The build procedure has been overhauled to make it easier to target new architectures and support multiple platforms from a single file system. Hopefully, it will also make installation easier. Now, the only two files that need to be modified are: