This folder contains a C++ program for distributed sorting using MPI (Message Passing Interface). The program is designed to hopefully efficiently
sort large files (more than available composed RAM) across multiple nodes, leveraging the parallel processing capabilities of MPI.
## Features
- **Parallel Sorting:** MPI is utilized to distribute the sorting task across multiple nodes, enabling efficient sorting of large datasets.
- **Slurm Integration:** The included `Makefile` facilitates job submission using Slurm, allowing users to specify job parameters such as number of nodes, partition, time, memory, etc.
- **Optimized Compilation:** Compiler flags (`-O3`) are configured for optimization, ensuring high-performance execution.
5. Monitor job status with `squeue` and cancel a job with `scancel jobid` if needed.
## Cleaning
- Remove object files and temporary files:
```bash
make clean
```
- Additionally, remove the executable and generated scripts:
```bash
make fclean
```
- Remove all generated files, including Slurm output files:
```bash
make cleanall
```
## Additional Information
- View compiler and linker flags used by `mpicxx`:
```bash
make detail
```
- For a full clean, rebuild the executable using:
```bash
make re
```
Feel free to customize the program, explore the code, and adapt it to suit your specific sorting requirements. If you encounter any issues or have suggestions for improvement, please open an issue or submit a pull request. Happy sorting!