Spent the last week or two getting torchruntime fully integrated into Easy Diffusion, and making sure that it handles all the edge-cases.
Easy Diffusion now uses torchruntime
to automatically install the best-possible version of torch
(on the users' computer) and support a wider variety of GPUs (as well as older GPUs). And it uses a GPU-agnostic device API, so Easy Diffusion will automatically support additional GPUs when they are supported by torchruntime
.
This also makes it easier for developers to add support for more (or newer) GPUs in a simpler code base (i.e. torchruntime), instead of digging into the internals of Easy Diffusion's codebase.
This removes a lot of custom, hacky code from Easy Diffusion for installing torch. This hacky code was the initial source of knowledge for torchruntime
, and I'm thankful to all the contributors who poured their knowledge into it.