antirez / antirez/h3.c

Temporary Array is too large for kernel. Encode failed.

Abierto
#15 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C
Estrellas
2.7k
Forks
210
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Device: M3 Ultra (256GB)
OS: macOS Sequoia 15.7.1

The issue: longer duration (>~4-5seconds) video generation fails consistently with `Temporary Array is too large for kernel. Encode failed.`

A few examples (cmd + output):
```
% ./h3 --model ~/models/MiniMax-H3 -p "" -o outputs/releasenotes1.mp4 --frames 124 --steps 20 --layers 50 --reuse 1
tokenizer 1/1
text encoder 50/50
refine text 1/1
precompute AdaLN 50/50
load transformer core 50/50
denoise 0/20 /AppleInternal/Library/BuildRoots/4~B5vFugBcKzdCtMw80UR1WFCTSITbUVQOwkJg1SQ/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MPSNDArray/Kernels/MPSNDArrayMultiaryKernel.mm:2644: failed assertion `[MPSNDArrayMatrixMultiplication encodeToCommandBuffer:] destination: [
Array: (null) Rank: 4 OffsetBytes:0 MPSDataTypeBFloat16 Device: Apple M3 Ultra MTLBuffer: 0x0 IOSurfaceBacked: NO
- dimensionLengths = [ 15527, 15527, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceLengths = [ 15527, 15527, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceOffsets = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- dimensionOrder = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]
- transposed sliceLengths = [ 15527, 15527, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- strideElements = [ 1, 15528, 241103256, 13501782336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- transposed strideElems = [ 1, 15528, 241103256, 13501782336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
Temporary Array - readCount = 1
] is too large for kernel. Encode failed.
```

```
% ./h3 --model ~/models/MiniMax-H3 -p "" --ref-image inputs/test.jpg -o outputs/releasenotes1.mp4 --frames 140 --steps 20

tokenizer 1/1
video VAE encoder 9/9
Qwen vision 27/27
text encoder 50/50
refine text 1/1
precompute AdaLN 50/50
load transformer core 50/50
denoise 0/20 /AppleInternal/Library/BuildRoots/4~B5vFugBcKzdCtMw80UR1WFCTSITbUVQOwkJg1SQ/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MPSNDArray/Kernels/MPSNDArrayMultiaryKernel.mm:2644: failed assertion `[MPSNDArrayMatrixMultiplication encodeToCommandBuffer:] destination: [
Array: (null) Rank: 4 OffsetBytes:0 MPSDataTypeBFloat16 Device: Apple M3 Ultra MTLBuffer: 0x0 IOSurfaceBacked: NO
- dimensionLengths = [ 18416, 18416, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceLengths = [ 18416, 18416, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceOffsets = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- dimensionOrder = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]
- transposed sliceLengths = [ 18416, 18416, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- strideElements = [ 1, 18416, 339149056, 18992347136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- transposed strideElems = [ 1, 18416, 339149056, 18992347136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
Temporary Array - readCount = 1
] is too large for kernel. Encode failed.
'
```

```
% ./h3 --model ~/models/MiniMax-H3 -p "" --ref-image inputs/test.jpg -o outputs/releasenotes1.mp4 --seconds 6 --steps 50

tokenizer 1/1
video VAE encoder 9/9
Qwen vision 27/27
text encoder 50/50
refine text 1/1
precompute AdaLN 50/50
load transformer core 50/50
denoise 0/50 /AppleInternal/Library/BuildRoots/4~B5vFugBcKzdCtMw80UR1WFCTSITbUVQOwkJg1SQ/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShaders/MPSNDArray/Kernels/MPSNDArrayMultiaryKernel.mm:2644: failed assertion `[MPSNDArrayMatrixMultiplication encodeToCommandBuffer:] destination: [
Array: (null) Rank: 4 OffsetBytes:0 MPSDataTypeBFloat16 Device: Apple M3 Ultra MTLBuffer: 0x0 IOSurfaceBacked: NO
- dimensionLengths = [ 20497, 20497, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceLengths = [ 20497, 20497, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- sliceOffsets = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- dimensionOrder = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]
- transposed sliceLengths = [ 20497, 20497, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
- strideElements = [ 1, 20504, 420270488, 23535147328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
- transposed strideElems = [ 1, 20504, 420270488, 23535147328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
Temporary Array - readCount = 1
] is too large for kernel. Encode failed.
'
```

_p.s.: excellent work, thank you, much appreciated!_

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.