Problem: The memory will slowly increase with the drawing until restarting.
Observation: GC analysis shows that no occupation has occurred, so it is suspected to be a problem with the underlying allocator.
Reason: Under Linux, glibc is used to allocate memory. glibc uses brk and mmap to allocate memory, and the memory allocated by brk cannot be released until the high-address memory is released. That is to say, if you apply for two pieces of memory A and B through brk, it is impossible to release A before B is released, and it is still occupied by the process. Check the suspected "memory leak" through TOP.
So I replaced TCMalloc, but found that libtcmalloc_minimal could not find ptthread_Key_Create. After analysis, it was found that pthread was not entered during compilation.
With the release candidates being out for both torch and vision,
webui should default to these over nightly for a more stable experience.
Stable release isn't excpected until October 4th:
https://dev-discuss.pytorch.org/c/release-announcements/27
Navi 3 needs at least 5.5 which is only on the nightly chain, previous versions are no longer online (torch==2.1.0.dev-20230614+rocm5.5 torchvision==0.16.0.dev-20230614+rocm5.5 torchaudio==2.1.0.dev-20230614+rocm5.5).
so switch to nightly rocm5.6 without explicit versions this time
When passing `--novenv` flag to webui.sh it can skip venv.
Might be useful for installing in Docker since messing with venv in Docker might be a bit complicated.
Example usage:
`webui.sh --novenv`
Hope this gets approved and pushed into future versions of Web UI
Navi 3 card now defaults to nightly torch to utilize rocm 5.5
for out-of-the-box support.
https://download.pytorch.org/whl/nightly/
While its not yet on the main pytorch "get started" site,
it still seems perfectly indexable via pip which is all we need.
With this I'm able to clone a fresh repo and immediately run ./webui.sh
on my 7900 XTX without any problems.
lspci detects VGA for main/integrated videocards and Display
for external videocards.
This commit should apply workarounds on computers with more than
one GPU. Useful for most laptops using weak iGPU and good dGPU.
Signed-off-by: Pablo Cholaky <waltercool@slash.cl>
- /usr/sbin (where ldconfig is usually located) is not typically on users' PATHs by default, so we set that variable before trying to run ldconfig.
- The libtcmalloc library is called libtcmalloc_minimal on Debian/Ubuntu systems. We now check whether libtcmalloc_minimal exists when running prepare_tcmalloc.