39 lines
1.2 KiB
Bash
Executable File
39 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
BLUE='\033[1;34m'
|
|
NC='\033[0m'
|
|
|
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
python_dir="$script_dir/occlum_instance/image/opt/python-occlum"
|
|
|
|
|
|
function build_instance()
|
|
{
|
|
rm -rf occlum_instance && occlum new occlum_instance
|
|
pushd occlum_instance
|
|
rm -rf image
|
|
copy_bom -f ../llm.yaml --root image --include-dir /opt/occlum/etc/template
|
|
|
|
new_json="$(jq '.resource_limits.user_space_size = "60GB" |
|
|
.resource_limits.kernel_space_heap_size = "1GB" |
|
|
.resource_limits.max_num_of_threads = 500 |
|
|
.env.default += ["PYTHONHOME=/opt/python-occlum"] |
|
|
.env.default += ["PATH=/bin"] |
|
|
.env.default += ["HOME=/root"] |
|
|
.env.untrusted += ["HF_DATASETS_CACHE", "OMP_NUM_THREADS"]' Occlum.json)" && \
|
|
echo "${new_json}" > Occlum.json
|
|
|
|
# Make model as hostfs mount for test purpose
|
|
# The model should be protected in production by encryption
|
|
mkdir -p image/models
|
|
new_json="$(cat Occlum.json | jq '.mount+=[{"target": "/models", "type": "hostfs","source": "/work/models"}]')" && \
|
|
echo "${new_json}" > Occlum.json
|
|
|
|
occlum build
|
|
popd
|
|
}
|
|
|
|
build_instance
|
|
|