Book contents +

XV · Vulkan acceleration (welvet.vulkan) / CHAPTER 20

Vulkan: results and suite pointers

Samuel Watson · Welvet feature bookOriginal source ↗

host-only pointers


Why it exists

Find the Vulkan sibling repo and live go_v_vulkan matrices after the small usage chapters.

What it is

Print Go v1.6.0 / welvet.vulkan 0.79 pins and commands for w2a go_v_vulkan. No GPU required.

Where live results live

This chapter is host-only. It does not claim timings from loading the page. Sibling Vulkan engine: github.com/openfluke/welvet.vulkan. Run the matrices on a machine with a Vulkan-capable GPU:

cd ../../w2a && go test ./tests/go_v_vulkan -count=1 -timeout 180m
cd ../../welvet.vulkan && ./scripts/build_linux.sh && ./build/example_vulkan_smoke
cd welvet/examples && ./run_vulkan.sh

Engine pin: welvet.vulkan 0.79, model ABI 1, Go binding nativevulkan (Welvet v1.6.0). Platform: Linux x86_64 for Mount and EnableRouting. Pure-Vulkan contract: no silent CPU path labeled Vulkan.

Requirements overview: chapter 103.

Go example

examples/109-vulkan-results/main.go

Run:cd welvet/examples/109-vulkan-results && source ../env.sh && go run .
// Pointers to Vulkan validation matrices; no GPU run is implied.
package main

import "fmt"

func main() {
	fmt.Println("Vulkan results pointers (not a live benchmark)")
	fmt.Println()
	fmt.Println("Engine pin: welvet.vulkan 0.79 · model ABI 1 · Go binding: nativevulkan (Welvet v1.6.0)")
	fmt.Println("Usage tour: 103 mount · 104 Mamba dtypes · 105 train modes · 106 SyncToGo/ENTITY · 107 JSON · 108 mixed")
	fmt.Println()
	fmt.Println("Live matrices (sibling checkouts):")
	fmt.Println("  cd ../../w2a && go test ./tests/go_v_vulkan -count=1 -timeout 180m")
	fmt.Println("  cd ../../welvet.vulkan && ./scripts/build_linux.sh && ./build/example_vulkan_smoke")
	fmt.Println()
	fmt.Println("Install shared library into Go:")
	fmt.Println("  cd ../../welvet.vulkan && ./scripts/linux_install_go.sh")
	fmt.Println()
	fmt.Println("Small usage tour without the large matrix:")
	fmt.Println("  ../run_vulkan.sh")
}

Output

exit 0 · last run via go run .

Vulkan results pointers (not a live benchmark)

Engine pin: welvet.vulkan 0.79 · model ABI 1 · Go binding: nativevulkan (Welvet v1.6.0)
Usage tour: 103 mount · 104 Mamba dtypes · 105 train modes · 106 SyncToGo/ENTITY · 107 JSON · 108 mixed

Live matrices (sibling checkouts):
  cd ../../w2a && go test ./tests/go_v_vulkan -count=1 -timeout 180m
  cd ../../welvet.vulkan && ./scripts/build_linux.sh && ./build/example_vulkan_smoke

Install shared library into Go:
  cd ../../welvet.vulkan && ./scripts/linux_install_go.sh

Small usage tour without the large matrix:
  ../run_vulkan.sh

Validate (harness)

cd welvet/examples/109-vulkan-results && source ../env.sh && go run .