Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.

AlecDusheck/Jessica-CustomAvatars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jessica

This project contains the source code to render Project Jessica environments given a compiled model for inference. It is written in Rust to be blazing fast and for reliability.

Project Structure

This project functions as a monorepo. All source code is in here.

Development

For building, you'll need:

  • C++17 compiler (GCC <=12, or whatever your nvcc wants)
  • Python3.10 installed (/usr/include/python3.10). This version is currently hard corded in multiple build.rs files, but it can probably be changed. You'll also want the headers
  • nvcc version for respective CUDA version
  • Rust (stable supported)
  • CUDA 12.1
  • PyTorch 2.3.0 installed (/usr/local/torch/lib/python3.10/site-packages/torch)

We can probably use other Python versions but this is not tested, the 3.10 path is hard-coded. If you'd like to use a different CUDA version, that'll probably work too. You will need to update your PyTorch version to whatever CUDA version you have installed. In addition, you'll need to update the tch-rs package across all repos the version for your CUDA install.

Dev Container

There is also a dev container available for use. The container has all the requirements already installed. If you can't get things to run use this. Please note that the container requires the nvidia-container-toolkit installed on your host machine for CUDA pass-through, in addition to Docker.

Image of avatar

Note about CUDA code

I've done some optimizations to make things compile on some terrible graphics cards. In particular, the grid sampler was overhauled. If we end up with strange inaccurate results, try reverting the optimizations to see.

About

Avatar Rendering in Rust!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published