System Information:
- Operating system: Ubuntu 22.04.3 LTS
- Graphics card: GeForce RTX 4070 Ti SUPER
- Driver: NVIDIA-SMI 550.54.15
- CUDA Version: 12.4
- python==3.11.9
- bpy== 4.1.0
- celery==5.3.4
Context:
I am developing a microservice for rendering 3D models. My service operates in conjunction with Celery, running in eventlen mode. It functions within a Docker container where one Celery worker is running. There are 2 such containers running on one server that are engaged in rendering. Rendering takes place on a graphics card using CUDA cores. The average rendering time is an hour and a half.
The questions:
- I am wondering if there is a way to stop a rendering process initiated through bpy from C code? I plan to halt the process from handlers. Is there another way to achieve this?
- Sometimes I encounter the error Error: Failed to create CUDA context (Not permitted) After studying the source code, I suspect this is related to a CUDA error 800, arising from the cudaLaunchCooperativeKernel kernel. Is my assumption correct? And can it be stated that multiple renders cannot be run on a single machine, even if they are in different Docker containers?
It seems to me that it is impossible to run multiple containers with bp on the same machine, because it is possible to simultaneously call the video card. I also want to find out in more detail what kind of core the gpu uses when rendering on CUDA, honestly I don’t understand the C programming language