HPC-Chain is a high performance computing library designed and optmized to run on server grade hardware. Currently the code is optmized on Xeon 2nd gen processors and above. Though the higher the generation the better the performance.
This repository is a library like langchain and lamaindex but optimized for high performance computing. Currently this code will work only on platforms that have the AVX-512 instructions set, NUMA support and MPI support.
It would work best when the server has two or more sockets per node as it tries to optmize the code to run on multiple sockets.
The code, tries to do optmization at these few levels:
- SRAM (L1, L2, L3 cache) Memory optmization
- SIMD (Single Instruction Multiple Data) optmization using intrinsics like the AVX-512 instruction set
- OpenMP optmization
- NUMA optmization
- MPI optmization
To get the most performance there are few hardware requirements that needs to be met:
- The server should have at least 2 sockets per node
- The server should have AVX-512 instruction set
- The server should have NUMA support
- The server should have MPI support
E.g Hardware that meets these requirements are:
- Intel Xeon 2nd gen and above
You can use this library using docker.
docker run -it --rm -v $(pwd):/app -w /app ghcr.io/chain-lang/hpc-chain:latestor you can use make to run the make file
make