Following the Project Description. It uses an evolutionary algorithm to develop ideal mechanical structures and runs in a distributed manner using OpenMP and MPI.
In order to run in Bridges, due to the dependency on C++17, make sure you run module load gcc/9.2.0
first.
-
The latest, distributed, parallelized and most optimized version is contained on the root folder, and the follow steps must be followed:
- Make sure you have the MPI module available using
mpi/gcc/openmpi-1.6.4
usingmodule add mpi/openmpi-x86_64
make
mkdir debug
in case you want to see the output of the programmpirun -np X build/program <N> <Organisms> <Epochs> <Decay>
(recommend 10 100 1000 0.995f)
- Make sure you have the MPI module available using
-
The sequential implementations and the basic parallelized implementation are all contained in their own folder. Please, use the following steps:
cd version_to_execute
make
mkdir debug
in case you want to see the output of the programbuild/program <N> <Organisms> <Epochs> <Decay>
(recommend 10 100 1000 0.995f)
/evolutionary_mechanics
|-- /basic_parallel_implementation
|-- /basic_sequential_implementation
|-- /best_optimized_sequential_implementation
|-- /jobFiles (jobs submitted)
|-- /slurm (contains slurm outputs)
|-- /src (contains the source code of the best optimized parallel implementation)
|-- report.pdf
|-- /latex (source code of our reports)
| |
| |-- /description
| |-- /performance
| |-- /progressReport
| |-- /report
| |-- /sources