mirror of
https://github.com/safishamsi/graphify.git
synced 2026-07-14 03:17:28 +00:00
652ba42e61
Metal Shading Language is C++14, so .metal files are classified as code and routed through the existing C++ extractor, mirroring the CUDA .cu/.cuh reuse. Also adds .cu/.cuh/.metal to build.py's _LANG_FAMILY map (they were all missing), so the cross-language phantom-`calls`-edge filter treats them as C++. README language table updated. Ported from PR #1480 by @jiangyq9. This supersedes the earlier #1450 by @GoodOlClint (same .metal -> C++ approach and fixture) — credit to @GoodOlClint for the original; #1480 additionally closes the CUDA family-map gap and updates the docs, and merges clean against current v8. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 lines
392 B
Metal
22 lines
392 B
Metal
#include <metal_stdlib>
|
|
using namespace metal;
|
|
|
|
struct Vec3 {
|
|
float x;
|
|
float y;
|
|
float z;
|
|
};
|
|
|
|
float dot3(Vec3 a, Vec3 b) {
|
|
return a.x * b.x + a.y * b.y + a.z * b.z;
|
|
}
|
|
|
|
kernel void saxpy(
|
|
device const float* x [[buffer(0)]],
|
|
device float* y [[buffer(1)]],
|
|
constant float& a [[buffer(2)]],
|
|
uint id [[thread_position_in_grid]]
|
|
) {
|
|
y[id] = a * x[id] + y[id];
|
|
}
|