Enhance GPU error detection in RenderProcessor
- Updated gpuErrorSubstrings to include case-insensitive matching for GPU backend errors, improving error detection reliability. - Modified checkGPUErrorLine to convert log lines to lowercase before checking for error indicators, ensuring consistent matching across different log formats.
This commit is contained in:
@@ -25,15 +25,23 @@ func NewRenderProcessor() *RenderProcessor {
|
|||||||
return &RenderProcessor{}
|
return &RenderProcessor{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// gpuErrorSubstrings are log line substrings that indicate a GPU backend error; any match triggers full GPU lockout.
|
// gpuErrorSubstrings are log line substrings that indicate a GPU backend error (matched case-insensitively); any match triggers full GPU lockout.
|
||||||
var gpuErrorSubstrings = []string{
|
var gpuErrorSubstrings = []string{
|
||||||
"Illegal address in hip", // HIP (AMD) backend
|
"illegal address in hip", // HIP (AMD) e.g. "Illegal address in HIP" or "Illegal address in hip"
|
||||||
|
"hiperror", // hipError* codes
|
||||||
|
"hip error",
|
||||||
|
"cuda error",
|
||||||
|
"cuerror",
|
||||||
|
"optix error",
|
||||||
|
"oneapi error",
|
||||||
|
"opencl error",
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkGPUErrorLine checks a log line for GPU error indicators and triggers runner GPU lockout if found.
|
// checkGPUErrorLine checks a log line for GPU error indicators and triggers runner GPU lockout if found.
|
||||||
func (p *RenderProcessor) checkGPUErrorLine(ctx *Context, line string) {
|
func (p *RenderProcessor) checkGPUErrorLine(ctx *Context, line string) {
|
||||||
|
lower := strings.ToLower(line)
|
||||||
for _, sub := range gpuErrorSubstrings {
|
for _, sub := range gpuErrorSubstrings {
|
||||||
if strings.Contains(line, sub) {
|
if strings.Contains(lower, sub) {
|
||||||
if ctx.OnGPUError != nil {
|
if ctx.OnGPUError != nil {
|
||||||
ctx.OnGPUError()
|
ctx.OnGPUError()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user