orklev2-ci

Answer questions about Orkid's ComputeInterface and compute shader dispatch.

35|16|Updated Feb 10, 2013
One-click install
npx skills add https://github.com/tweakoz/orkid --skill orklev2-ci
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: orklev2-ci
Source: https://github.com/tweakoz/orkid/tree/main/.claude/skills/orklev2-ci
Command: npx skills add https://github.com/tweakoz/orkid --skill orklev2-ci

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps engineers understand and apply Orkid's ComputeInterface to correctly bind resources, dispatch compute shaders, synchronize passes, and integrate PyTorch tensors with GPU storage buffers so compute workloads run correctly and efficiently.

Core Features & Use Cases

  • API Reference Mapping: Points to CI interface declarations and implementations (ci.h, shadman.h, vulkan_ctx.h, pyext_gfx.cpp) for precise method semantics.
  • Dispatch & Synchronization Guidance: Explains beginDispatchPhase/endDispatchPhase, dispatchCompute/dispatchComputeIndirect, storageBarrier usage, and typical two-pass compute patterns.
  • Resource Binding & PyTorch Support: Covers bindStorageBuffer, bindImage, bindSampler usage and ENABLE_PYTORCH helpers that wrap tensors as SSBOs for zero-copy or explicit copy workflows.
  • Use Case: Diagnose a multi-pass compute blur that writes to SSBOs and image targets, ensure correct memory barriers and transitions, and optionally stream PyTorch tensor data into GPU buffers.

Quick Start

Ask how to bind storage buffers and images, issue compute dispatches, and use storageBarrier between passes in Orkid's ComputeInterface.

Frequently Asked Questions about orklev2-ci

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I dispatch a compute shader and use memory barriers between multiple passes?

To dispatch compute shaders, call beginDispatchPhase, issue dispatchCompute or dispatchComputeIndirect, insert a storageBarrier between passes, and close with endDispatchPhase to synchronize SSBO and image writes correctly.

Can I bind PyTorch tensors as SSBOs for GPU compute workflows?

Yes, you can bind PyTorch tensors as SSBOs using ENABLE_PYTORCH helpers, enabling zero-copy or explicit copy workflows by wrapping tensor data into storage buffers for Vulkan-backed compute shader dispatch.

What is the correct way to bind resources like images and samplers in a Vulkan compute pipeline?

Binding resources in a Vulkan compute pipeline requires using bindStorageBuffer, bindImage, and bindSampler methods to configure descriptor sets and resource semantics before dispatching compute workloads.

How do I diagnose a multi-pass compute blur writing to SSBOs and image targets?

Diagnose multi-pass compute blurs by verifying memory barriers and image transitions between passes, ensuring storageBarrier is called after dispatchCompute to synchronize SSBO and image target writes before the next phase.

Does Orkid's ComputeInterface support indirect compute dispatch?

Yes, Orkid's ComputeInterface supports indirect compute dispatch via the dispatchComputeIndirect method, allowing GPU-driven workgroup sizing and execution without CPU-side dispatch parameter updates.

Why do my compute shader passes overlap or produce inconsistent results?

Compute shader passes overlap or produce inconsistent results when missing storageBarrier calls between dispatchCompute phases, causing incomplete memory visibility for SSBO writes before subsequent reads or image transitions.