[ASPLOS'26] HILOS: A Cost-Effective Near-Storage Processing Solution for Offline Inference of Long-Context LLMs
Python
22
1 commits
updated Jan 18, 2026
This artifact provides the implementation of HILOS, a high-throughput near-storage processing system designed for batched LLM inference. We provide the complete source code and a pre-configured server to facilitate the setup and reproduction of our experimental results.
This artifact supports:
This repository contains two main components:
step1_hls_synth): FPGA binary synthesis using High-Level Synthesis (HLS)step2_deployment): Batched LLM inference deployment using the generated FPGA binaryImportant:
step2_deployment/bins/If you wish to reproduce the experiments on your own hardware, the following components are required:
The environment relies on the following components:
Install the following tools:
Source the settings scripts prior to execution:
source <path_to_Vitis_HLS>/2023.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
We recommend using an Anaconda environment rather than Docker, as the peer-to-peer (P2P) feature of the SmartSSD is not supported in containers.
Ensure the Anaconda environment manager is installed. Create and configure the environment:
conda create -n asplos26_ae python=3.9 -y
conda activate asplos26_ae
conda install -c conda-forge uv
uv pip install flash-attn --no-build-isolation
Navigate to the step1_hls_synth directory and install dependencies:
cd step1_hls_synth
bash install.sh
uv pip install -e .
Generate the FPGA bitstream:
cd tests/csrc
make xclbin
cp <path_to_xclbin>/*.xclbin ../../bins/
Note: This step may take several hours. If you want to skip this step, pre-generated binaries are available in the bins/ directory.
Navigate to the step2_deployment directory and install requirements:
cd ../../.. # Return to HILOS root
cd step2_deployment
uv pip install -r requirements.txt
The evaluation follows a two-step workflow:
See step1_hls_synth/README.md for detailed instructions on:
See step2_deployment/README.md for detailed instructions on:
Quick Start: Use the provided run_all.sh script to automate the full evaluation pipeline:
cd step2_deployment
sh run_all.sh
For detailed arguments and procedures, please refer to the README files in each respective directory
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this code in your research, please cite the following paper:
@inproceedings{hilos,
title={HILOS: A Cost-Effective Near-Storage Processing Solution for Offline Inference of Long-Context LLMs},
author={Jang, Hongsun and Song, Jaeyong and Shin, Changmin and Noh, Si Ung and Jung, Jaewon and Park, Jisung and Lee, Jinho},
booktitle={Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)},
year={2026}
}
For any questions or comments about the paper or the code, please contact [email protected]
Enjoy using HILOS, and feel free to contribute to the project by opening issues or submitting pull requests!
[ASPLOS'26] HILOS: A Cost-Effective Near-Storage Processing Solution for Offline Inference of Long-Context LLMs
Python
22
1 commits
updated Jan 18, 2026
This artifact provides the implementation of HILOS, a high-throughput near-storage processing system designed for batched LLM inference. We provide the complete source code and a pre-configured server to facilitate the setup and reproduction of our experimental results.
This artifact supports:
This repository contains two main components:
step1_hls_synth): FPGA binary synthesis using High-Level Synthesis (HLS)step2_deployment): Batched LLM inference deployment using the generated FPGA binaryImportant:
step2_deployment/bins/If you wish to reproduce the experiments on your own hardware, the following components are required:
The environment relies on the following components:
Install the following tools:
Source the settings scripts prior to execution:
source <path_to_Vitis_HLS>/2023.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
We recommend using an Anaconda environment rather than Docker, as the peer-to-peer (P2P) feature of the SmartSSD is not supported in containers.
Ensure the Anaconda environment manager is installed. Create and configure the environment:
conda create -n asplos26_ae python=3.9 -y
conda activate asplos26_ae
conda install -c conda-forge uv
uv pip install flash-attn --no-build-isolation
Navigate to the step1_hls_synth directory and install dependencies:
cd step1_hls_synth
bash install.sh
uv pip install -e .
Generate the FPGA bitstream:
cd tests/csrc
make xclbin
cp <path_to_xclbin>/*.xclbin ../../bins/
Note: This step may take several hours. If you want to skip this step, pre-generated binaries are available in the bins/ directory.
Navigate to the step2_deployment directory and install requirements:
cd ../../.. # Return to HILOS root
cd step2_deployment
uv pip install -r requirements.txt
The evaluation follows a two-step workflow:
See step1_hls_synth/README.md for detailed instructions on:
See step2_deployment/README.md for detailed instructions on:
Quick Start: Use the provided run_all.sh script to automate the full evaluation pipeline:
cd step2_deployment
sh run_all.sh
For detailed arguments and procedures, please refer to the README files in each respective directory
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this code in your research, please cite the following paper:
@inproceedings{hilos,
title={HILOS: A Cost-Effective Near-Storage Processing Solution for Offline Inference of Long-Context LLMs},
author={Jang, Hongsun and Song, Jaeyong and Shin, Changmin and Noh, Si Ung and Jung, Jaewon and Park, Jisung and Lee, Jinho},
booktitle={Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)},
year={2026}
}
For any questions or comments about the paper or the code, please contact [email protected]
Enjoy using HILOS, and feel free to contribute to the project by opening issues or submitting pull requests!