Kernel cache and warm-up
Taichi compiles each solver’s GPU kernels the first time they are used. BLUX caches the compiled kernels so later starts are fast.
What to expect
Section titled “What to expect”Measured on a GTX 1060, at different stages of development:
| Event | Time |
|---|---|
| First Atom start on a machine | about 50 s |
| First Blaze start, dense grid | about 70 s |
| First Blaze start, sparse backend, per lattice size | about 160 s |
| Blaze with the multigrid pressure solver, worst case measured | 513 s to the first frame |
| Blaze start with a warm kernel cache | about 9 s (dense) to about 20 s |
Progress shows in the viewport HUD while compiling. Newer GPUs and CPUs differ, and larger Blaze lattices take longer.
Where the cache lives
Section titled “Where the cache lives”Compiled kernels are stored in a BLUX-owned folder that is scoped by version. Folders of old versions are pruned automatically. You can see the folder and its size in the Dependencies box of the preferences.
To put it somewhere else, set the environment variable BLUX_KERNEL_CACHE_DIR before starting Blender.
The cache is written when the worker exits cleanly, or after a cold compile finishes. If the worker is killed in the middle of a compile, that compile is lost.
Warm Up Kernels
Section titled “Warm Up Kernels”With Warm Up Kernels on (the default), BLUX compiles the active solver’s kernels in the background when you switch solver or load a file. Usually the compile has finished by the time you press play. See Solver environment.
Clear GPU Kernel Cache
Section titled “Clear GPU Kernel Cache”The Clear GPU Kernel Cache button deletes the compiled kernels. The next simulation of each solver then compiles from scratch, which takes minutes. Use it only to recover from a corrupted cache.
Faster compiles
Section titled “Faster compiles”Set the environment variable BLUX_TI_ADVANCED_OPT=0 before starting Blender to compile 3 to 6 times faster, at the cost of 8 to 18 percent slower frames. This suits quick experiments more than final bakes.