/svc-shader

A gRPC micro-service that exposes a variety of GPU shader compilers under a common cloud-based abstraction.

Primary LanguageHLSLMIT LicenseMIT

svc-shader

A gRPC micro-service that exposes a variety of GPU shader compilers under a common cloud-based abstraction.

Build Status

Hub: https://hub.docker.com/r/gwihlidal/svc-shader/

Extensive documentation

Updating Compilers

The svc-shader image inherits from the docker-shader image. A new docker-shader image must be built when compilers need to be updated. Once there is a new docker-shader image, the svc-shader image and scripts should be modified to point to the new version.

The docker-shader image can be modified as per these instructions.

Before building and pushing a new image, increment the version number at the top of Makefile

Build and push a new image by running "make push", image.sh, or by running the commands manually (substituting in the correct variable values):

docker build -t $(NS)/$(REPO):$(VERSION) .
docker push $(NS)/$(REPO):$(VERSION)

Example:

docker build -t gwihlidal/svc-shader:15 .
docker push gwihlidal/svc-shader:15

Note, you won't have permission to push to the gwihlidal namespace on Docker Hub, so make sure to use your own account or custom container registry like https://cloud.google.com/container-registry/

Example of a version update:

https://github.com/gwihlidal/svc-shader/commit/a845f5bffeadb76b0cb77ea4bd4525d2b58798fe

Deployment

Once a new svc-shader image is built and pushed to the container registry, it should be deployed to Google Kubernetes Engine (GKE).

Deployment can be done by executing deploy.sh, or running the following command:

kubectl apply -f ./svc_shader_k8s.yaml

You can verify the new image is running by confirming the version of the image on GKE:

alt text