Skip to content

Conversation

jeffbolznv
Copy link
Collaborator

Enable CMP0147 so custom build steps (invoking vulkan-shader-gen) are run in parallel.

Enable /MP so source files are compiled in parallel.

#16341 made full shader rebuilds slower using MSVC due to reduced parallelism. This change enables two kinds of parallelism in the build. I think this is all MSVC-specific.

Build times before/after, for touching types.glsl, broken down into compiling the shaders and compiling the cpp files:

before: 55s + 26s
after: 29s + 15s

I think both steps are still limited by mul_mm being so much bigger than all the others, the improvement in parallelism is very clear when you see it in action.

Enable CMP0147 so custom build steps (invoking vulkan-shader-gen) are run in parallel.

Enable /MP so source files are compiled in parallel.
@jeffbolznv jeffbolznv requested a review from Acly October 12, 2025 21:12
@jeffbolznv jeffbolznv requested a review from 0cc4m as a code owner October 12, 2025 21:12
@github-actions github-actions bot added Vulkan Issues specific to the Vulkan backend ggml changes relating to the ggml tensor library for machine learning labels Oct 12, 2025
@0cc4m 0cc4m merged commit 7ea15bb into ggml-org:master Oct 14, 2025
70 checks passed
ddh0 added a commit to ddh0/llama.cpp that referenced this pull request Oct 14, 2025
* cuda : remove legacy copy-op pointer indirection code (ggml-org#16485)

* remove legacy copy-op pointer indirection code

* further removal of copy-op indirection code

* renamed check_node_graph_compatibility_and_refresh_copy_ops function

* CUDA: add fp kernel for larger batch size MoE (ggml-org#16512)

* CUDA: kernel for larger batch sizes for MoE

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* fixup

* tests

* Move mmq_ids_helper to mmid

* cleanup

* Remove redundant checks

* CUDA: use fastdiv + ggml_cuda_mad for mmvf (ggml-org#16557)

* CUDA: use fastdiv + ggml_cuda_mad for mmvf

* use bf16 directly + fix formatting

* Add exception for HIP code

* CUDA: enable FA for FP32 KV cache (ggml-org#16546)

* vulkan: Improve build time for MSVC (ggml-org#16545)

Enable CMP0147 so custom build steps (invoking vulkan-shader-gen) are run in parallel.

Enable /MP so source files are compiled in parallel.

* vulkan: Support FA with K/V in F32 (ggml-org#16543)

* CUDA + openCL: fix bug in accessing rms_norm->src while doing fusion (ggml-org#16577)

* vulkan: Add ACC_TYPE_VEC2 implementation (ggml-org#16203)

Signed-off-by: Stefan Savic <stefan.savic@huawei.com>
Co-authored-by: Stefan Savic <stefan.savic@huawei.com>

* metal : avoid using Metal's gpuAddress property (ggml-org#16576)

* metal : avoid using Metal's gpuAddress property

* metal : fix rope kernels buffer check

---------

Signed-off-by: Stefan Savic <stefan.savic@huawei.com>
Co-authored-by: Anav Prasad <anavp@nvidia.com>
Co-authored-by: Aman Gupta <amangupta052@gmail.com>
Co-authored-by: Johannes Gäßler <johannesg@5d6.de>
Co-authored-by: Jeff Bolz <jbolz@nvidia.com>
Co-authored-by: SavicStefan <50296686+SavicStefan@users.noreply.github.com>
Co-authored-by: Stefan Savic <stefan.savic@huawei.com>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ggml changes relating to the ggml tensor library for machine learning Vulkan Issues specific to the Vulkan backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants