Skip to content

vulkan: rounding differences on Turing #10764

@jeffbolznv

Description

@jeffbolznv

Name and Version

fails at commit 26a8406

Not a recent regression, to my knowledge

Operating systems

No response

Which llama.cpp modules do you know to be affected?

No response

Problem description & steps to reproduce

There are failures in im2col and rope tests that look like rounding differences. I believe Turing is using round-to-zero, which is allowed by the Vulkan spec but doesn't match other implementations or the CPU reference.

IM2COL(type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[10,10,3,1],ne_kernel=[3,3,3,1],s0=1,s1=1,p0=1,p1=1,d0=1,d1=1,is_2D=1): [IM2COL] NMSE = 0.000000203 > 0.000000100 �[1;31mFAIL�[0m

ROPE(type=f16,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0): [ROPE] NMSE = 0.000000240 > 0.000000100 �[1;31mFAIL�[0m

(more failures at https://github.com/ggml-org/ci/tree/results/llama.cpp/26/a8406ba9198eb6fdd8329fa717555b4f77f05f/ggml-6-x86-vulkan-t4, but the mul_mat failures are unrelated).

First Bad Commit

No response

Relevant log output

No response

Metadata

Metadata

Assignees

Labels

Nvidia GPUIssues specific to Nvidia GPUsVulkanIssues specific to the Vulkan backendbug-unconfirmed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions