mlops/Makefile
2024-03-02 17:39:53 -08:00

42 lines
971 B
Makefile

default: up
up: run
run: build setup
docker compose up
build: jupyter/Dockerfile feast/Dockerfile
docker compose build --progress plain
down:
docker compose down
# all of this assumes there's a single Nvidia GPU
check_numa:
@lspci | grep -i nvidia | head | awk '{ print $1 }'
@DEVICE := $(shell lspci | grep -i nvidia | head | awk '{ print $1 }')
@FILE := /sys/bus/pci/devices/0000:${DEVICE}/numa_node
@NUMA_STATE := $(shell cat ${FILE})
@if [[ ${NUMA_STATE} -ne 0 ]]; then \
echo "NUMA is not connected to your GPU. Try:"; \
echo " echo 0 | sudo tee ${FILE}"; \
exit 1; \
fi
setup: build feast/repo/feature_store.yaml feast/repo/data
feast/repo/data:
docker compose run --rm -t feast bash -c 'cd /repo && feast apply'
feast/repo/feature_store.yaml: feast/repo
docker compose run --rm -t feast feast init repo
cp feast/feature_store.yaml feast/repo
feast/repo:
mkdir -p feast/repo
.PHONY: default up run down build check_numa setup