An open API service indexing awesome lists of open source software.

https://github.com/converged-computing/lammps-time

Building lammps over time, 2016 until 2024 (testing, and under development)
https://github.com/converged-computing/lammps-time

Last synced: 5 months ago
JSON representation

Building lammps over time, 2016 until 2024 (testing, and under development)

Awesome Lists containing this project

README

          

# LAMMPS over Time

Let's try to build LAMMPS, specifically the reax app, over time, and see how it changes.
We will use the same Dockerfile with different versions to clone. This top level directory will
build lammps base containers, and [fuse](fuse) will provide logic to install fuse and proot
for recording.

# Building Containers

Let's get the tags. I exported my GitHub token to the environment here.
I could just write a Python script, but I'm being lazy.

```bash
mkdir -p ./releases
for page in $(seq 1 4)
do
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/lammps/lammps/releases?page=${page} > releases/${page}.json
sleep 2
done
```

Now do builds from the tags. We are first going to try and build as many as we can with cmake.
Note that we have added the `USER-REAXC` and it is needed started at patch_27May2021.

```bash
for filename in $(ls ./releases)
do
for tag in $(cat ./releases/$filename | jq -r .[].tag_name)
do
echo "Building tag $tag"
docker build -f Dockerfile.cmake --build-arg LAMMPS_VERSION=${tag} -t ghcr.io/converged-computing/lammps-time:${tag} .
retval=$?
if [[ "${retval}" != "0" ]]; then
echo "Tag ${tag} was not successful"
else
docker push ghcr.io/converged-computing/lammps-time:${tag}
fi
done
done
```

Now we need an older cmake (and ubuntu) for this next set (I tried focal and it didn't work).

```bash
for tag in $(cat cmake-older-version.txt)
do
docker build -f Dockerfile.cmake --build-arg LAMMPS_VERSION=${tag} --build-arg tag=bionic -t ghcr.io/converged-computing/lammps-time:${tag} .
if [[ "${retval}" != "0" ]]; then
echo "Tag ${tag} was not successful"
else
docker push ghcr.io/converged-computing/lammps-time:${tag}
fi
done
```

Next fall back to building from source method.

```bash
for tag in $(cat non-cmake-tags.txt)
do
docker build --build-arg LAMMPS_VERSION=${tag} --build-arg tag=bionic -t ghcr.io/converged-computing/lammps-time:${tag} .
if [[ "${retval}" != "0" ]]; then
echo "Tag ${tag} was not successful"
else
docker push ghcr.io/converged-computing/lammps-time:${tag}
fi
done
```

## License

HPCIC DevTools is distributed under the terms of the MIT license.
All new contributions must be made under this license.

See [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),
[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and
[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614