Skip to content
aiqbench takeChips & Infra

aiqbench analysis

CrossTL is an open-source framework that attempts to preserve semantic rules across diverse GPU programming languages by routing them through a central hub language, addressing critical interoperability issues where standard translators silently alter computation results. While the study reveals that current implementations still lose fidelity in many cases and that existing tools often produce more usable code for third-party programs, it establishes a rigorous methodology for defining "faithful translation" and testing rule preservation across heterogeneous hardware stacks like Metal and Vulkan.
Source coveringarXiv

CrossTL: Hub-Based Translation of GPU Programs and the Preservation of Source Rules

arXiv8 min read

arXiv:2508.21256v2 Announce Type: replace-cross Abstract: GPU programs are written in vendor languages that disagree about integer overflow, division by zero, NaN handling, floating-point contraction, data layout and dispatch, so a translated program can compile and still compute something else. We describe CrossTL, an open-source translator that routes ten GPU source languages to eleven targets through CrossGL, a textual hub language, with repository-scale porting, contracts that loaders check, and native parity tests. We define faithful translation as refinement up to rejection under a compile configuration, and test whether a hub that records each source rule and lowers it through one per-target table keeps rules that a syntax-only hub loses. On an internally pre-registered suite of 66 hazard kernels in six languages, run on an Apple GPU through Metal, MoltenVK and WebGPU and on CPU implementations of Vulkan, OpenGL and an emulated Direct3D 12, SPIRV-Cross, naga, Tint, Slang and CrossTL each lose some source rule, and outcomes change with Metal's math mode and between two Vulkan implementations. A rule-carrying prototype of the hub removes 34 of 39 divergences on the rules it carries, against 14 for local fixes to four SPIR-V defects, and refuses where WGSL cannot express a rule. The registered hypothesis that it keeps every rule fails: MoltenVK, a non-conformant Vulkan layer, drops a rule that correct SPIR-V carries natively. On 2,585 programs written by third parties, 31% of CrossTL's translations are usable, established translators produce valid output significantly more often in 31 of 39 comparisons, and carrying the rules changes no target's accepted share by more than 0.2 points. Recording each operation's source rule suffices for the rules tested but is not necessary: one strongest rule would keep them too, at about nine times as many rewrites and 58 more refusals on the corpus.

Abstract:GPU programs are written in vendor languages that disagree about integer overflow, division by zero, NaN handling, floating-point contraction, data layout and dispatch, so a translated program can compile and still compute something else. We describe CrossTL, an open-source translator that routes ten GPU source languages to eleven targets through CrossGL, a textual hub language, with repository-scale porting, contracts that loaders check, and native parity tests. We define faithful translation as refinement up to rejection under a compile configuration, and test whether a hub that records each source rule and lowers it through one per-target table keeps rules that a syntax-only hub loses. On an internally pre-registered suite of 66 hazard kernels in six languages, run on an Apple GPU through Metal, MoltenVK and WebGPU and on CPU implementations of Vulkan, OpenGL and an emulated Direct3D 12, SPIRV-Cross, naga, Tint, Slang and CrossTL each lose some source rule, and outcomes change with Metal's math mode and between two Vulkan implementations. A rule-carrying prototype of the hub removes 34 of 39 divergences on the rules it carries, against 14 for local fixes to four SPIR-V defects, and refuses where WGSL cannot express a rule. The registered hypothesis that it keeps every rule fails: MoltenVK, a non-conformant Vulkan layer, drops a rule that correct SPIR-V carries natively. On 2,585 programs written by third parties, 31% of CrossTL's translations are usable, established translators produce valid output significantly more often in 31 of 39 comparisons, and carrying the rules changes no target's accepted share by more than 0.2 points. Recording each operation's source rule suffices for the rules tested but is not necessary: one strongest rule would keep them too, at about nine times as many rewrites and 58 more refusals on the corpus.

57 pages (30 main text). Replication package in the ancillary files

Programming Languages (cs.PL); Computation and Language (cs.CL); Graphics (cs.GR)

D.3.4; D.3.2; D.1.3

arXiv:2508.21256 [cs.PL]

(or arXiv:2508.21256v2 [cs.PL] for this version)

https://doi.org/10.48550/arXiv.2508.21256 Focus to learn more arXiv-issued DOI via DataCite

https://doi.org/10.5281/zenodo.15826975 Focus to learn more DOI(s) linking to related resources

experiments/RUN_ORDER.md

experiments/TOOLCHAINS.md

experiments/analysis/baselines.py

experiments/analysis/baselines_v2.py

experiments/analysis/baselines_v2_table.py

experiments/analysis/coding_bases.py

experiments/analysis/coding_kappa.py

experiments/analysis/coding_packets.py

experiments/analysis/coding_table.py

experiments/analysis/corpora_table.py

experiments/analysis/cost.py

experiments/analysis/data/as_registered/coding/agreement.json

experiments/analysis/data/as_registered/coding/agreement_A.json

experiments/analysis/data/as_registered/coding/final_bases.json

experiments/analysis/data/as_registered/coding/final_bases_A.json

experiments/analysis/data/as_registered/coding_mechanism/agreement.json

experiments/analysis/data/as_registered/coding_mechanism/agreement_A.json

experiments/analysis/data/as_registered/coding_mechanism/final_mechanisms.json

experiments/analysis/data/as_registered/coding_mechanism/final_mechanisms_A.json

experiments/analysis/data/as_registered/dropfree.json

experiments/analysis/data/as_registered/dropfree_A.json

experiments/analysis/data/as_registered/hazards_v2.json

experiments/analysis/data/as_registered/hazards_v2_A.json

experiments/analysis/data/as_registered/heldout_v2.json

experiments/analysis/data/as_registered/heldout_v2_A.json

experiments/analysis/data/as_registered/rulehub.json

experiments/analysis/data/baselines.json

experiments/analysis/data/baselines_v2.json

experiments/analysis/data/baselines_v2_summary.json

experiments/analysis/data/baselines_warn.txt

experiments/analysis/data/coding/CODEBOOK.md

experiments/analysis/data/coding/adjudication.json

experiments/analysis/data/coding/agreement.json

experiments/analysis/data/coding/agreement_A.json

experiments/analysis/data/coding/blind_0.jsonl

experiments/analysis/data/coding/blind_1.jsonl

experiments/analysis/data/coding/blind_2.jsonl

experiments/analysis/data/coding/blind_add.jsonl

experiments/analysis/data/coding/catalogue_corrections_a12.json

experiments/analysis/data/coding/catalogue_corrections_a13.json

experiments/analysis/data/coding/codebook_corrections.json

experiments/analysis/data/coding/coded_blind_0.jsonl

experiments/analysis/data/coding/coded_blind_1.jsonl

experiments/analysis/data/coding/coded_blind_2.jsonl

experiments/analysis/data/coding/coded_blind_add.jsonl

experiments/analysis/data/coding/coded_informed_0.jsonl

experiments/analysis/data/coding/coded_informed_1.jsonl

experiments/analysis/data/coding/coded_informed_2.jsonl

experiments/analysis/data/coding/coded_informed_add.jsonl

experiments/analysis/data/coding/disagreements.jsonl

experiments/analysis/data/coding/disagreements_A.jsonl

experiments/analysis/data/coding/final_bases.json

experiments/analysis/data/coding/final_bases_A.json

experiments/analysis/data/coding/informed_0.jsonl

experiments/analysis/data/coding/informed_1.jsonl

experiments/analysis/data/coding/informed_2.jsonl

experiments/analysis/data/coding/informed_add.jsonl

experiments/analysis/data/coding/packets.jsonl

experiments/analysis/data/coding/packets_addendum.jsonl

experiments/analysis/data/coding/sample_ids.json

experiments/analysis/data/coding/void.json

experiments/analysis/data/coding_mechanism/CODEBOOK.md

experiments/analysis/data/coding_mechanism/adjudication.json

experiments/analysis/data/coding_mechanism/agreement.json

experiments/analysis/data/coding_mechanism/agreement_A.json

experiments/analysis/data/coding_mechanism/blind_0.jsonl

experiments/analysis/data/coding_mechanism/blind_1.jsonl

experiments/analysis/data/coding_mechanism/blind_add.jsonl

experiments/analysis/data/coding_mechanism/coded_blind_0.jsonl

experiments/analysis/data/coding_mechanism/coded_blind_1.jsonl

experiments/analysis/data/coding_mechanism/coded_blind_add.jsonl

experiments/analysis/data/coding_mechanism/coded_informed_0.jsonl

experiments/analysis/data/coding_mechanism/coded_informed_1.jsonl

experiments/analysis/data/coding_mechanism/coded_informed_add.jsonl

experiments/analysis/data/coding_mechanism/disagreements.jsonl

experiments/analysis/data/coding_mechanism/disagreements_A.jsonl

experiments/analysis/data/coding_mechanism/final_mechanisms.json

experiments/analysis/data/coding_mechanism/final_mechanisms_A.json

experiments/analysis/data/coding_mechanism/informed_0.jsonl

experiments/analysis/data/coding_mechanism/informed_1.jsonl

experiments/analysis/data/coding_mechanism/informed_add.jsonl

experiments/analysis/data/coding_mechanism/packets.jsonl

experiments/analysis/data/coding_mechanism/packets_addendum.jsonl

experiments/analysis/data/coding_mechanism/void.json

experiments/analysis/data/coding_taxonomy/CODEBOOK.md

experiments/analysis/data/coding_taxonomy/agreement.json

experiments/analysis/data/coding_taxonomy/agreement2.json

experiments/analysis/data/coding_taxonomy/blind_0.jsonl

experiments/analysis/data/coding_taxonomy/blind_1.jsonl

experiments/analysis/data/coding_taxonomy/coded_blind2_0.jsonl

experiments/analysis/data/coding_taxonomy/coded_blind2_1.jsonl

experiments/analysis/data/coding_taxonomy/coded_blind_0.jsonl

experiments/analysis/data/coding_taxonomy/coded_blind_1.jsonl

experiments/analysis/data/coding_taxonomy/key.json

experiments/analysis/data/coding_taxonomy/packets.jsonl

experiments/analysis/data/cost.json

experiments/analysis/data/dropfree.json

experiments/analysis/data/dropfree_A.json

experiments/analysis/data/exhaustive.json

experiments/analysis/data/hazards_by_route.json

experiments/analysis/data/hazards_by_route_A.json

experiments/analysis/data/hazards_summary.json

experiments/analysis/data/hazards_v2.json

experiments/analysis/data/hazards_v2_A.json

experiments/analysis/data/heldout_v2.json

experiments/analysis/data/heldout_v2_A.json

experiments/analysis/data/hr3.json

experiments/analysis/data/hr3_fix.json

experiments/analysis/data/latency_v2.json

experiments/analysis/data/mlx.json

experiments/analysis/data/mlx_v2.json

experiments/analysis/data/provenance_summary.json

experiments/analysis/data/reach.json

experiments/analysis/data/reach_v2.json

experiments/analysis/data/reach_v2_cells.jsonl

experiments/analysis/data/reach_v2_numbers.json

experiments/analysis/data/reach_v2_slices.json

experiments/analysis/data/reach_v2_tables.json

experiments/analysis/data/reach_v2_v2r.json

experiments/analysis/data/reach_v2_v2r_cells.jsonl

experiments/analysis/data/reach_v2_v2r_fix.json

experiments/analysis/data/reach_v2_v2r_fix_cells.jsonl

experiments/analysis/data/rule_inventory.json

experiments/analysis/data/rulehub.json

experiments/analysis/dropfree.py

experiments/analysis/exhaustive_table.py

experiments/analysis/hazard_cases_table.py

experiments/analysis/hazard_tables_v2.py

experiments/analysis/hazards_by_route.py

experiments/analysis/hazards_table.py

experiments/analysis/hazards_v2.py

experiments/analysis/heldout_v2.py

experiments/analysis/hr3.py

experiments/analysis/human_audit/README.md

experiments/analysis/human_audit/human_audit_packets.md

experiments/analysis/human_audit/human_codes_template.csv

experiments/analysis/human_audit/make_human_audit.py

experiments/analysis/human_audit/sample.json

experiments/analysis/human_audit/score_human_audit.py

experiments/analysis/latency_v2.py

experiments/analysis/loc_table.py

experiments/analysis/make_fig1.py

experiments/analysis/make_fig1_v2.py

experiments/analysis/mechanism_analysis.py

experiments/analysis/mechanism_packets.py

experiments/analysis/mlx.py

experiments/analysis/mlx_v2.py

experiments/analysis/provenance_table.py

experiments/analysis/reach.py

experiments/analysis/reach_v2.py

experiments/analysis/reach_v2_numbers.py

experiments/analysis/reach_v2_slices.py

experiments/analysis/reach_v2_tables.py

experiments/analysis/rule_table.py

experiments/analysis/rulehub_table.py

experiments/analysis/taxonomy_kappa.py

experiments/analysis/taxonomy_kappa2.py

experiments/analysis/taxonomy_sample.py

experiments/corpora/MANIFEST.json

experiments/corpora/build_corpora.py

experiments/corpora/excluded.jsonl

experiments/corpora/fetch_sources.py

experiments/corpora/native.jsonl

experiments/corpora/native_filter.py

experiments/corpora/units.jsonl

experiments/corpora/vksamples_build_args.json

experiments/crosstl_r/README.md

experiments/crosstl_r/crosstl-r.patch

experiments/crosstl_r/enumfix.patch

experiments/docker/gltest/build.log

experiments/docker/gltest/packages.lock.txt

experiments/docker/opengl/build.log

experiments/docker/opengl/build2.log

experiments/docker/opengl/packages.lock.txt

experiments/docker/opengl/vkrun.c

experiments/e0_probes/PRAGMA_SAFE.md

experiments/e0_probes/data/metal_math_modes.json

experiments/e0_probes/data/probe_metal_pragma_safe.json

experiments/e0_probes/metal_math_modes.py

experiments/e0_probes/probe_metal_pragma_safe.py

experiments/e10_rulecost/annotation_density.py

experiments/e10_rulecost/annotation_density_bykind.py

experiments/e10_rulecost/data/annotation_density.json

experiments/e10_rulecost/data/annotation_density.jsonl

experiments/e10_rulecost/data/annotation_density_bykind.json

experiments/e10_rulecost/data/annotation_density_bykind.jsonl

experiments/e10_rulecost/data/provenance_cost.json

experiments/e10_rulecost/data/provenance_cost.jsonl

experiments/e10_rulecost/data/rulecost.json

experiments/e10_rulecost/density.log

experiments/e10_rulecost/out/fmin.crosstl-r.metal

experiments/e10_rulecost/out/fmin.crosstl-r.spv

experiments/e10_rulecost/out/fmin.crosstl-r.spvasm

experiments/e10_rulecost/out/fmin.crosstl.metal

experiments/e10_rulecost/out/fmin.crosstl.spv

experiments/e10_rulecost/out/fmin.crosstl.spvasm

experiments/e10_rulecost/out/ftoi.crosstl-r.metal

experiments/e10_rulecost/out/ftoi.crosstl-r.spv

experiments/e10_rulecost/out/ftoi.crosstl-r.spvasm

experiments/e10_rulecost/out/ftoi.crosstl.metal

experiments/e10_rulecost/out/ftoi.crosstl.spv

experiments/e10_rulecost/out/ftoi.crosstl.spvasm

experiments/e10_rulecost/out/isnan.crosstl-r.metal

experiments/e10_rulecost/out/isnan.crosstl-r.spv

experiments/e10_rulecost/out/isnan.crosstl-r.spvasm

experiments/e10_rulecost/out/isnan.crosstl.metal

experiments/e10_rulecost/out/isnan.crosstl.spv

experiments/e10_rulecost/out/isnan.crosstl.spvasm

experiments/e10_rulecost/out/narrow.crosstl-r.metal

experiments/e10_rulecost/out/narrow.crosstl-r.spv

experiments/e10_rulecost/out/narrow.crosstl-r.spvasm

experiments/e10_rulecost/out/narrow.crosstl.metal

experiments/e10_rulecost/out/narrow.crosstl.spv

experiments/e10_rulecost/out/narrow.crosstl.spvasm

experiments/e10_rulecost/out/shift.crosstl-r.metal

experiments/e10_rulecost/out/shift.crosstl-r.spv

experiments/e10_rulecost/out/shift.crosstl-r.spvasm

experiments/e10_rulecost/out/shift.crosstl.metal

experiments/e10_rulecost/out/shift.crosstl.spv

experiments/e10_rulecost/out/shift.crosstl.spvasm

experiments/e10_rulecost/out/srem.crosstl-r.metal

experiments/e10_rulecost/out/srem.crosstl-r.spv

experiments/e10_rulecost/out/srem.crosstl-r.spvasm

experiments/e10_rulecost/out/srem.crosstl.metal

experiments/e10_rulecost/out/srem.crosstl.spv

experiments/e10_rulecost/out/srem.crosstl.spvasm

experiments/e10_rulecost/out/udiv0.crosstl-r.metal

experiments/e10_rulecost/out/udiv0.crosstl-r.spv

experiments/e10_rulecost/out/udiv0.crosstl-r.spvasm

experiments/e10_rulecost/out/udiv0.crosstl.metal

experiments/e10_rulecost/out/udiv0.crosstl.spv

experiments/e10_rulecost/out/udiv0.crosstl.spvasm

experiments/e10_rulecost/out/wrap.crosstl-r.metal

experiments/e10_rulecost/out/wrap.crosstl-r.spv

experiments/e10_rulecost/out/wrap.crosstl-r.spvasm

experiments/e10_rulecost/out/wrap.crosstl.metal

experiments/e10_rulecost/out/wrap.crosstl.spv

experiments/e10_rulecost/out/wrap.crosstl.spvasm

experiments/e10_rulecost/provenance_cost.py

experiments/e10_rulecost/run.log

experiments/e10_rulecost/run_provenance_cost.log

experiments/e10_rulecost/run_rulecost.py

experiments/e10_rulecost/src/fmin.metal

experiments/e10_rulecost/src/ftoi.metal

experiments/e10_rulecost/src/isnan.metal

experiments/e10_rulecost/src/narrow.metal

experiments/e10_rulecost/src/shift.hlsl

experiments/e10_rulecost/src/srem.metal

experiments/e10_rulecost/src/udiv0.hlsl

experiments/e10_rulecost/src/wrap.comp

experiments/e11_tablecheck/check_rule_table.py

experiments/e11_tablecheck/data/tablecheck.json

experiments/e11_tablecheck/data/tablecheck.md

experiments/e11_tablecheck/data/tablecheck_flush.json

experiments/e11_tablecheck/data/tablecheck_flush.md

experiments/e11_tablecheck/make_table.py

experiments/e11_tablecheck/run.log

experiments/e11_tablecheck/run_first_attempt.log

experiments/e11_tablecheck/run_flush.log

experiments/e1_reach/data/v2/translate.jsonl

experiments/e1_reach/data/v2/validate.jsonl

experiments/e1_reach/data/v2/validate_patch.jsonl

experiments/e1_reach/data/v2r/translate.jsonl

experiments/e1_reach/data/v2r/validate.jsonl

experiments/e1_reach/data/v2r/validate_patch.jsonl

experiments/e1_reach/data/v2r_fix/translate.jsonl

experiments/e1_reach/data/v2r_fix/validate.jsonl

experiments/e1_reach/data/v2r_fix/validate_patch.jsonl

experiments/e1_reach/rerun_enumfix.py

experiments/e1_reach/revalidate_stageless.py

experiments/e1_reach/run_reach_v2.py

experiments/e2_baselines/data/v2/baselines.jsonl

experiments/e2_baselines/data/v2/patch_slang_hlsl_entries.jsonl

experiments/e2_baselines/revalidate_slang_hlsl.py

experiments/e2_baselines/run_baselines_v2.py

experiments/e3_hazards_v2/KOSMICKRISP.md

experiments/e3_hazards_v2/PREREGISTRATION.md

experiments/e3_hazards_v2/PREREGISTRATION.registered.md

experiments/e3_hazards_v2/cases.py

experiments/e3_hazards_v2/cases/c_cmp_mixed/src.cl

experiments/e3_hazards_v2/cases/c_convert_sat/src.cl

experiments/e3_hazards_v2/cases/c_fmin_nan/src.cl

experiments/e3_hazards_v2/cases/c_fp_contract_off/src.cl

experiments/e3_hazards_v2/cases/c_partial_wg/src.cl

experiments/e3_hazards_v2/cases/c_ptr_arith/src.cl

experiments/e3_hazards_v2/cases/c_shift_mask/src.cl

experiments/e3_hazards_v2/cases/c_sin/src.cl

experiments/e3_hazards_v2/cases/c_uchar_wrap/src.cl

experiments/e3_hazards_v2/cases/g_add_wrap/src.comp

experiments/e3_hazards_v2/cases/g_cmp_mixed/src.comp

experiments/e3_hazards_v2/cases/g_isnan/src.comp

experiments/e3_hazards_v2/cases/g_loop_wrap/src.comp

experiments/e3_hazards_v2/cases/g_mul_wrap/src.comp

experiments/e3_hazards_v2/cases/g_precise/src.comp

experiments/e3_hazards_v2/cases/g_std430_vec3_float/src.comp

experiments/e3_hazards_v2/cases/h_add_wrap/src.hlsl

experiments/e3_hazards_v2/cases/h_cmp_mixed/src.hlsl

experiments/e3_hazards_v2/cases/h_denorm/src.hlsl

experiments/e3_hazards_v2/cases/h_float3_stride/src.hlsl

experiments/e3_hazards_v2/cases/h_ftoi_sat/src.hlsl

experiments/e3_hazards_v2/cases/h_loop_wrap/src.hlsl

experiments/e3_hazards_v2/cases/h_min_nan/src.hlsl

experiments/e3_hazards_v2/cases/h_mul_wrap/src.hlsl

experiments/e3_hazards_v2/cases/h_oob_read/src.hlsl

experiments/e3_hazards_v2/cases/h_precise/src.hlsl

experiments/e3_hazards_v2/cases/h_shift_mask/src.hlsl

experiments/e3_hazards_v2/cases/h_udiv_zero/src.hlsl

experiments/e3_hazards_v2/cases/h_wave_sum/src.hlsl

experiments/e3_hazards_v2/cases/m_atan2/src.metal

experiments/e3_hazards_v2/cases/m_cmp_mixed/src.metal

experiments/e3_hazards_v2/cases/m_contract_off/src.metal

experiments/e3_hazards_v2/cases/m_fmin_nan/src.metal

experiments/e3_hazards_v2/cases/m_fmod_sign/src.metal

experiments/e3_hazards_v2/cases/m_ftoi_nan/src.metal

experiments/e3_hazards_v2/cases/m_half_mul/src.metal

experiments/e3_hazards_v2/cases/m_isnan/src.metal

experiments/e3_hazards_v2/cases/m_packed_float3/src.metal

experiments/e3_hazards_v2/cases/m_partial_tg/src.metal

experiments/e3_hazards_v2/cases/m_precise_sin/src.metal

experiments/e3_hazards_v2/cases/m_ptr_arith/src.metal

experiments/e3_hazards_v2/cases/m_shift_mask/src.metal

experiments/e3_hazards_v2/cases/m_simd_divergent/src.metal

experiments/e3_hazards_v2/cases/m_simd_sum/src.metal

experiments/e3_hazards_v2/cases/m_srem_sign/src.metal

experiments/e3_hazards_v2/cases/m_uchar_wrap/src.metal

experiments/e3_hazards_v2/cases/m_ulong_mul/src.metal

experiments/e3_hazards_v2/cases/s_add_wrap/src.spvasm

experiments/e3_hazards_v2/cases/s_add_wrap/src.vulkan1.1.spv

experiments/e3_hazards_v2/cases/s_mul_wrap/src.spvasm

experiments/e3_hazards_v2/cases/s_mul_wrap/src.vulkan1.1.spv

experiments/e3_hazards_v2/cases/s_nmin_nan/src.spvasm

experiments/e3_hazards_v2/cases/s_nmin_nan/src.vulkan1.1.spv

experiments/e3_hazards_v2/cases/s_nocontraction/src.spvasm

experiments/e3_hazards_v2/cases/s_nocontraction/src.vulkan1.1.spv

experiments/e3_hazards_v2/cases/u_atan2f_zero/src.cu

experiments/e3_hazards_v2/cases/u_atomic_add/src.cu

experiments/e3_hazards_v2/cases/u_cmp_mixed/src.cu

experiments/e3_hazards_v2/cases/u_denorm/src.cu

experiments/e3_hazards_v2/cases/u_float3_stride/src.cu

experiments/e3_hazards_v2/cases/u_fminf_nan/src.cu

experiments/e3_hazards_v2/cases/u_fmodf_sign/src.cu

experiments/e3_hazards_v2/cases/u_fmul_rn/src.cu

experiments/e3_hazards_v2/cases/u_ptr_arith/src.cu

experiments/e3_hazards_v2/cases/u_recursion/src.cu

experiments/e3_hazards_v2/cases/u_sinf/src.cu

experiments/e3_hazards_v2/cases/u_srem_sign/src.cu

experiments/e3_hazards_v2/cases/u_u64_mul/src.cu

experiments/e3_hazards_v2/cases/u_uchar_wrap/src.cu

experiments/e3_hazards_v2/cases/u_warp_reduce/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_0/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_1/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_2/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_3/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_4/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_cmp_5/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_0/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_1/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_2/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_3/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_4/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_narrow_5/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_0/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_1/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_2/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_3/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_4/src.cu

experiments/e3_hazards_v2/cases_heldout/x_cuda_srem_5/src.cu

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_0/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_1/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_2/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_3/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_4/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_cmp_5/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_0/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_1/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_2/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_3/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_4/src.comp

experiments/e3_hazards_v2/cases_heldout/x_glsl_wrap_5/src.comp

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_0/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_1/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_2/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_3/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_4/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_cmp_5/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_0/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_1/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_2/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_3/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_4/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_shift_5/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_0/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_1/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_2/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_3/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_4/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_udiv_5/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_0/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_1/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_2/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_3/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_4/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_hlsl_wrap_5/src.hlsl

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_0/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_1/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_2/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_3/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_4/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_cmp_5/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_0/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_1/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_2/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_3/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_4/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_narrow_5/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_0/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_1/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_2/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_3/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_4/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_shift_5/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_0/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_1/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_2/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_3/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_4/src.metal

experiments/e3_hazards_v2/cases_heldout/x_metal_srem_5/src.metal

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_0/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_1/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_2/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_3/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_4/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_cmp_5/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_0/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_1/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_2/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_3/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_4/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_narrow_5/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_0/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_1/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_2/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_3/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_4/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_shift_5/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_0/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_1/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_2/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_3/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_4/src.cl

experiments/e3_hazards_v2/cases_heldout/x_opencl_srem_5/src.cl

experiments/e3_hazards_v2/data/artifacts.json

experiments/e3_hazards_v2/data/artifacts_results_heldout.json

experiments/e3_hazards_v2/data/artifacts_results_v2d.json

experiments/e3_hazards_v2/data/kosmickrisp_msl.json

experiments/e3_hazards_v2/data/kosmickrisp_mvk_control.jsonl

experiments/e3_hazards_v2/data/kosmickrisp_summary.json

experiments/e3_hazards_v2/data/mvk_fastmath.jsonl

experiments/e3_hazards_v2/data/patch_metal_bindings.jsonl

experiments/e3_hazards_v2/data/patch_metal_bindings_heldout.jsonl

experiments/e3_hazards_v2/data/patch_metal_relaxed.jsonl

experiments/e3_hazards_v2/data/patch_metal_relaxed_heldout.jsonl

experiments/e3_hazards_v2/data/probe_dxc_layout.json

experiments/e3_hazards_v2/data/probe_dxc_nsw.json

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_add_wrap_Od.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_add_wrap_Od.rc

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_add_wrap_default.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_add_wrap_default.rc

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_loop_wrap_Od.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_loop_wrap_Od.rc

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_loop_wrap_default.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_loop_wrap_default.rc

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_mul_wrap_Od.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_mul_wrap_Od.rc

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_mul_wrap_default.ll

experiments/e3_hazards_v2/data/probe_dxc_nsw/h_mul_wrap_default.rc

experiments/e3_hazards_v2/data/probe_metal_fwrapv.jsonl

experiments/e3_hazards_v2/data/results_base.jsonl

experiments/e3_hazards_v2/data/results_heldout.jsonl

experiments/e3_hazards_v2/data/results_heldout_kosmickrisp.jsonl

experiments/e3_hazards_v2/data/results_kosmickrisp.jsonl

experiments/e3_hazards_v2/data/results_v2.jsonl

experiments/e3_hazards_v2/data/results_v2c.jsonl

experiments/e3_hazards_v2/data/results_v2d.jsonl

experiments/e3_hazards_v2/data/results_v2e_ref_nvcc.jsonl

experiments/e3_hazards_v2/data/results_v2f_msc.jsonl

experiments/e3_hazards_v2/data/test.jsonl

experiments/e3_hazards_v2/heldout.py

experiments/e3_hazards_v2/metal_fwrapv_probe.py

experiments/e3_hazards_v2/metal_rebind_rerun.py

experiments/e3_hazards_v2/metal_relaxed_rerun.py

experiments/e3_hazards_v2/msc_probes/probe_oob.py

experiments/e3_hazards_v2/msc_probes/probe_oob_out/h_oob_read.boundsCheck.json

experiments/e3_hazards_v2/msc_probes/probe_oob_out/h_oob_read.boundsCheck.metallib

experiments/e3_hazards_v2/msc_probes/probe_oob_out/probe_oob_result.json

experiments/e3_hazards_v2/msc_probes/probe_oob_rerun.py

experiments/e3_hazards_v2/msc_probes/validate_bindings.py

experiments/e3_hazards_v2/msc_probes/validate_bindings_report.json

experiments/e3_hazards_v2/msc_probes/verify_dxil.py

experiments/e3_hazards_v2/mvk_fastmath.py

experiments/e3_hazards_v2/probe_dxc_layout.py

experiments/e3_hazards_v2/probe_dxc_nsw.py

experiments/e3_hazards_v2/ref_nvcc.py

experiments/e3_hazards_v2/run_kosmickrisp.py

experiments/e3_hazards_v2/run_msc.py

experiments/e3_hazards_v2/run_suite.py

experiments/e4_mlx/data/metal/additive.junit.xml

experiments/e4_mlx/data/metal/additive.log

experiments/e4_mlx/data/metal/arange.junit.xml

experiments/e4_mlx/data/metal/arange.log

experiments/e4_mlx/data/metal/arg_reduce.junit.xml

experiments/e4_mlx/data/metal/arg_reduce.log

experiments/e4_mlx/data/metal/atan2.junit.xml

experiments/e4_mlx/data/metal/atan2.log

experiments/e4_mlx/data/metal/binary_shapes.junit.xml

experiments/e4_mlx/data/metal/binary_shapes.log

experiments/e4_mlx/data/metal/binary_two.junit.xml

experiments/e4_mlx/data/metal/binary_two.log

experiments/e4_mlx/data/metal/complex_inverse_trig.junit.xml

experiments/e4_mlx/data/metal/complex_inverse_trig.log

experiments/e4_mlx/data/metal/complex_logaddexp.junit.xml

experiments/e4_mlx/data/metal/complex_logaddexp.log

experiments/e4_mlx/data/metal/complex_magnitude.junit.xml

experiments/e4_mlx/data/metal/complex_magnitude.log

experiments/e4_mlx/data/metal/complex_power.junit.xml

experiments/e4_mlx/data/metal/complex_power.log

experiments/e4_mlx/data/metal/complex_scan.junit.xml

experiments/e4_mlx/data/metal/complex_scan.log

experiments/e4_mlx/data/metal/copy.junit.xml

experiments/e4_mlx/data/metal/copy.log

experiments/e4_mlx/data/metal/cross_entropy.junit.xml

experiments/e4_mlx/data/metal/cross_entropy.log

experiments/e4_mlx/data/metal/division.junit.xml

experiments/e4_mlx/data/metal/division.log

experiments/e4_mlx/data/metal/dot.junit.xml

experiments/e4_mlx/data/metal/dot.log

experiments/e4_mlx/data/metal/extrema.junit.xml

experiments/e4_mlx/data/metal/extrema.log

experiments/e4_mlx/data/metal/extrema_scan.junit.xml

experiments/e4_mlx/data/metal/extrema_scan.log

experiments/e4_mlx/data/metal/floating_binary.junit.xml

experiments/e4_mlx/data/metal/floating_binary.log

experiments/e4_mlx/data/metal/floating_remainder.junit.xml

experiments/e4_mlx/data/metal/floating_remainder.log

experiments/e4_mlx/data/metal/gated_delta.junit.xml

experiments/e4_mlx/data/metal/gated_delta.log

experiments/e4_mlx/data/metal/gather.junit.xml

experiments/e4_mlx/data/metal/gather.log

experiments/e4_mlx/data/metal/gather_mm_offsets.junit.xml

experiments/e4_mlx/data/metal/gather_mm_offsets.log

experiments/e4_mlx/data/metal/gemm.junit.xml

experiments/e4_mlx/data/metal/gemm.log

experiments/e4_mlx/data/metal/half_remainder.junit.xml

experiments/e4_mlx/data/metal/half_remainder.log

experiments/e4_mlx/data/metal/integer_remainder.junit.xml

experiments/e4_mlx/data/metal/integer_remainder.log

experiments/e4_mlx/data/metal/layer_norm.junit.xml

experiments/e4_mlx/data/metal/layer_norm.log

experiments/e4_mlx/data/metal/logsumexp.junit.xml

experiments/e4_mlx/data/metal/logsumexp.log

experiments/e4_mlx/data/metal/multiplication.junit.xml

experiments/e4_mlx/data/metal/multiplication.log

experiments/e4_mlx/data/metal/random.junit.xml

experiments/e4_mlx/data/metal/random.log

experiments/e4_mlx/data/metal/real_power.junit.xml

experiments/e4_mlx/data/metal/real_power.log

experiments/e4_mlx/data/metal/rms_norm.junit.xml

experiments/e4_mlx/data/metal/rms_norm.log

experiments/e4_mlx/data/metal/rope.junit.xml

experiments/e4_mlx/data/metal/rope.log

experiments/e4_mlx/data/metal/scan.junit.xml

experiments/e4_mlx/data/metal/scan.log

experiments/e4_mlx/data/metal/sdpa.junit.xml

experiments/e4_mlx/data/metal/sdpa.log

experiments/e4_mlx/data/metal/searchsorted.junit.xml

experiments/e4_mlx/data/metal/searchsorted.log

experiments/e4_mlx/data/metal/softmax.junit.xml

experiments/e4_mlx/data/metal/softmax.log

experiments/e4_mlx/data/metal/summary.txt

experiments/e4_mlx/data/metal/superseded_gates/complex_logaddexp.junit.xml

experiments/e4_mlx/data/metal/superseded_gates/complex_logaddexp.log

experiments/e4_mlx/data/metal/superseded_gates/complex_scan.junit.xml

experiments/e4_mlx/data/metal/superseded_gates/complex_scan.log

experiments/e4_mlx/data/metal/superseded_gates/extrema_scan.junit.xml

experiments/e4_mlx/data/metal/superseded_gates/extrema_scan.log

experiments/e4_mlx/data/metal/superseded_gates/unary_fp8.junit.xml

experiments/e4_mlx/data/metal/superseded_gates/unary_fp8.log

experiments/e4_mlx/data/metal/ternary.junit.xml

experiments/e4_mlx/data/metal/ternary.log

experiments/e4_mlx/data/metal/unary_acosh.junit.xml

experiments/e4_mlx/data/metal/unary_acosh.log

experiments/e4_mlx/data/metal/unary_atan.junit.xml

experiments/e4_mlx/data/metal/unary_atan.log

experiments/e4_mlx/data/metal/unary_division.junit.xml

experiments/e4_mlx/data/metal/unary_division.log

experiments/e4_mlx/data/metal/unary_fma.junit.xml

experiments/e4_mlx/data/metal/unary_fma.log

experiments/e4_mlx/data/metal/unary_fp8.junit.xml

experiments/e4_mlx/data/metal/unary_fp8.log

experiments/e4_mlx/data/metal/unary_logarithms.junit.xml

experiments/e4_mlx/data/metal/unary_logarithms.log

experiments/e4_mlx/data/metal/unary_roots.junit.xml

experiments/e4_mlx/data/metal/unary_roots.log

experiments/e4_mlx/data/metal/unary_sign.junit.xml

experiments/e4_mlx/data/metal/unary_sign.log

experiments/e4_mlx/data/metal/unary_trig.junit.xml

experiments/e4_mlx/data/metal/unary_trig.log

experiments/e4_mlx/data/metal_run.log

experiments/e4_mlx/data/opengl/additive.junit.xml

experiments/e4_mlx/data/opengl/additive.log

experiments/e4_mlx/data/opengl/arange.junit.xml

experiments/e4_mlx/data/opengl/arange.log

experiments/e4_mlx/data/opengl/arg_reduce.junit.xml

experiments/e4_mlx/data/opengl/arg_reduce.log

experiments/e4_mlx/data/opengl/atan2.junit.xml

experiments/e4_mlx/data/opengl/atan2.log

experiments/e4_mlx/data/opengl/binary_shapes.junit.xml

experiments/e4_mlx/data/opengl/binary_shapes.log

experiments/e4_mlx/data/opengl/binary_two.junit.xml

experiments/e4_mlx/data/opengl/binary_two.log

experiments/e4_mlx/data/opengl/complex_inverse_trig.junit.xml

experiments/e4_mlx/data/opengl/complex_inverse_trig.log

experiments/e4_mlx/data/opengl/complex_logaddexp.junit.xml

experiments/e4_mlx/data/opengl/complex_logaddexp.log

experiments/e4_mlx/data/opengl/complex_magnitude.junit.xml

experiments/e4_mlx/data/opengl/complex_magnitude.log

experiments/e4_mlx/data/opengl/complex_power.junit.xml

experiments/e4_mlx/data/opengl/complex_power.log

experiments/e4_mlx/data/opengl/complex_scan.junit.xml

experiments/e4_mlx/data/opengl/complex_scan.log

experiments/e4_mlx/data/opengl/copy.junit.xml

experiments/e4_mlx/data/opengl/copy.log

experiments/e4_mlx/data/opengl/cross_entropy.junit.xml

experiments/e4_mlx/data/opengl/cross_entropy.log

experiments/e4_mlx/data/opengl/division.junit.xml

experiments/e4_mlx/data/opengl/division.log

experiments/e4_mlx/data/opengl/dot.junit.xml

experiments/e4_mlx/data/opengl/dot.log

experiments/e4_mlx/data/opengl/extrema.junit.xml

experiments/e4_mlx/data/opengl/extrema.log

experiments/e4_mlx/data/opengl/extrema_scan.junit.xml

experiments/e4_mlx/data/opengl/extrema_scan.log

experiments/e4_mlx/data/opengl/floating_binary.junit.xml

experiments/e4_mlx/data/opengl/floating_binary.log

experiments/e4_mlx/data/opengl/floating_remainder.junit.xml

experiments/e4_mlx/data/opengl/floating_remainder.log

experiments/e4_mlx/data/opengl/gated_delta.junit.xml

experiments/e4_mlx/data/opengl/gated_delta.log

experiments/e4_mlx/data/opengl/gather.junit.xml

experiments/e4_mlx/data/opengl/gather.log

experiments/e4_mlx/data/opengl/gather_mm_offsets.junit.xml

experiments/e4_mlx/data/opengl/gather_mm_offsets.log

experiments/e4_mlx/data/opengl/gemm.junit.xml

experiments/e4_mlx/data/opengl/gemm.log

experiments/e4_mlx/data/opengl/gl_info.txt

experiments/e4_mlx/data/opengl/half_remainder.junit.xml

experiments/e4_mlx/data/opengl/half_remainder.log

experiments/e4_mlx/data/opengl/integer_remainder.junit.xml

experiments/e4_mlx/data/opengl/integer_remainder.log

experiments/e4_mlx/data/opengl/layer_norm.junit.xml

experiments/e4_mlx/data/opengl/layer_norm.log

experiments/e4_mlx/data/opengl/logsumexp.junit.xml

experiments/e4_mlx/data/opengl/logsumexp.log

experiments/e4_mlx/data/opengl/multiplication.junit.xml

experiments/e4_mlx/data/opengl/multiplication.log

experiments/e4_mlx/data/opengl/random.junit.xml

experiments/e4_mlx/data/opengl/random.log

experiments/e4_mlx/data/opengl/real_power.junit.xml

experiments/e4_mlx/data/opengl/real_power.log

experiments/e4_mlx/data/opengl/rms_norm.junit.xml

experiments/e4_mlx/data/opengl/rms_norm.log

experiments/e4_mlx/data/opengl/rope.junit.xml

experiments/e4_mlx/data/opengl/rope.log

experiments/e4_mlx/data/opengl/scan.junit.xml

experiments/e4_mlx/data/opengl/scan.log

experiments/e4_mlx/data/opengl/sdpa.junit.xml

experiments/e4_mlx/data/opengl/sdpa.log

experiments/e4_mlx/data/opengl/searchsorted.junit.xml

experiments/e4_mlx/data/opengl/searchsorted.log

experiments/e4_mlx/data/opengl/softmax.junit.xml

experiments/e4_mlx/data/opengl/softmax.log

experiments/e4_mlx/data/opengl/summary.txt

experiments/e4_mlx/data/opengl/superseded_gates/complex_logaddexp.junit.xml

experiments/e4_mlx/data/opengl/superseded_gates/complex_logaddexp.log

experiments/e4_mlx/data/opengl/superseded_gates/complex_scan.junit.xml

experiments/e4_mlx/data/opengl/superseded_gates/complex_scan.log

experiments/e4_mlx/data/opengl/superseded_gates/extrema_scan.junit.xml

experiments/e4_mlx/data/opengl/superseded_gates/extrema_scan.log

experiments/e4_mlx/data/opengl/superseded_gates/unary_fp8.junit.xml

experiments/e4_mlx/data/opengl/superseded_gates/unary_fp8.log

experiments/e4_mlx/data/opengl/ternary.junit.xml

experiments/e4_mlx/data/opengl/ternary.log

experiments/e4_mlx/data/opengl/unary_acosh.junit.xml

experiments/e4_mlx/data/opengl/unary_acosh.log

experiments/e4_mlx/data/opengl/unary_atan.junit.xml

experiments/e4_mlx/data/opengl/unary_atan.log

experiments/e4_mlx/data/opengl/unary_division.junit.xml

experiments/e4_mlx/data/opengl/unary_division.log

experiments/e4_mlx/data/opengl/unary_fma.junit.xml

experiments/e4_mlx/data/opengl/unary_fma.log

experiments/e4_mlx/data/opengl/unary_fp8.junit.xml

experiments/e4_mlx/data/opengl/unary_fp8.log

experiments/e4_mlx/data/opengl/unary_logarithms.junit.xml

experiments/e4_mlx/data/opengl/unary_logarithms.log

experiments/e4_mlx/data/opengl/unary_roots.junit.xml

experiments/e4_mlx/data/opengl/unary_roots.log

experiments/e4_mlx/data/opengl/unary_sign.junit.xml

experiments/e4_mlx/data/opengl/unary_sign.log

experiments/e4_mlx/data/opengl/unary_trig.junit.xml

experiments/e4_mlx/data/opengl/unary_trig.log

experiments/e4_mlx/rerun_gates_opengl.sh

experiments/e4_mlx/run_gates_metal.log

experiments/e4_mlx/run_mlx_families.sh

experiments/e4_mlx/run_mlx_families_opengl.sh

experiments/e4_mlx/run_rest_metal.log

experiments/e5_engineering/data/loc.json

experiments/e5_engineering/loc.py

experiments/e6_cost/data/gpu_overhead.json

experiments/e6_cost/data/latency.jsonl

experiments/e6_cost/data/latency_v2.jsonl

experiments/e6_cost/gpu_overhead.py

experiments/e6_cost/latency.py

experiments/e6_cost/latency_v2.py

experiments/e6_cost/run_latency_v2.log

experiments/e7_compute/data/hipify.sha256

experiments/e7_compute/run_compute.py

experiments/e7_compute/run_hipify_v2.py

experiments/e8_contracts/data/fault_injection.json

experiments/e8_contracts/data/repo_contract_tests.junit.xml

experiments/e8_contracts/data/repo_contract_tests_native.junit.xml

experiments/e8_contracts/fault_injection.py

experiments/e9_exhaustive/data/cos_metal-crosstl.json

experiments/e9_exhaustive/data/cos_metal-native.json

experiments/e9_exhaustive/data/cos_moltenvk-glsl.json

experiments/e9_exhaustive/data/cos_moltenvk.json

experiments/e9_exhaustive/data/exp_metal-crosstl.json

experiments/e9_exhaustive/data/exp_metal-native.json

experiments/e9_exhaustive/data/exp_moltenvk-glsl.json

experiments/e9_exhaustive/data/exp_moltenvk.json

experiments/e9_exhaustive/data/log2_metal-crosstl.json

experiments/e9_exhaustive/data/log2_metal-native.json

experiments/e9_exhaustive/data/log2_moltenvk-glsl.json

experiments/e9_exhaustive/data/log2_moltenvk.json

experiments/e9_exhaustive/data/log_metal-crosstl.json

experiments/e9_exhaustive/data/log_metal-native.json

experiments/e9_exhaustive/data/log_moltenvk-glsl.json

experiments/e9_exhaustive/data/log_moltenvk.json

experiments/e9_exhaustive/data/sin_metal-crosstl.json

experiments/e9_exhaustive/data/sin_metal-native.json

experiments/e9_exhaustive/data/sin_moltenvk-glsl.json

experiments/e9_exhaustive/data/sin_moltenvk.json

experiments/e9_exhaustive/data/tan_metal-crosstl.json

experiments/e9_exhaustive/data/tan_metal-native.json

experiments/e9_exhaustive/data/tan_moltenvk-glsl.json

experiments/e9_exhaustive/data/tan_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/cos_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/cos_metal-native.json

experiments/e9_exhaustive/data_strict_v1/cos_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/cos_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/exp_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/exp_metal-native.json

experiments/e9_exhaustive/data_strict_v1/exp_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/exp_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/log2_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/log2_metal-native.json

experiments/e9_exhaustive/data_strict_v1/log2_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/log2_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/log_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/log_metal-native.json

experiments/e9_exhaustive/data_strict_v1/log_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/log_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/sin_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/sin_metal-native.json

experiments/e9_exhaustive/data_strict_v1/sin_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/sin_moltenvk.json

experiments/e9_exhaustive/data_strict_v1/tan_metal-crosstl.json

experiments/e9_exhaustive/data_strict_v1/tan_metal-native.json

experiments/e9_exhaustive/data_strict_v1/tan_moltenvk-glsl.json

experiments/e9_exhaustive/data_strict_v1/tan_moltenvk.json

experiments/e9_exhaustive/k_cos.metal

experiments/e9_exhaustive/k_exp.metal

experiments/e9_exhaustive/k_log.metal

experiments/e9_exhaustive/k_log2.metal

experiments/e9_exhaustive/k_sin.metal

experiments/e9_exhaustive/k_tan.metal

experiments/e9_exhaustive/out/builtin_cos.comp

experiments/e9_exhaustive/out/builtin_cos.spv

experiments/e9_exhaustive/out/builtin_exp.comp

experiments/e9_exhaustive/out/builtin_exp.spv

experiments/e9_exhaustive/out/builtin_log.comp

experiments/e9_exhaustive/out/builtin_log.spv

experiments/e9_exhaustive/out/builtin_log2.comp

experiments/e9_exhaustive/out/builtin_log2.spv

experiments/e9_exhaustive/out/builtin_sin.comp

experiments/e9_exhaustive/out/builtin_sin.spv

experiments/e9_exhaustive/out/builtin_tan.comp

experiments/e9_exhaustive/out/builtin_tan.spv

experiments/e9_exhaustive/out/cos.crosstl.metal

experiments/e9_exhaustive/out/cos.crosstl.spv

experiments/e9_exhaustive/out/cos.crosstl.spvasm

experiments/e9_exhaustive/out/exp.crosstl.metal

experiments/e9_exhaustive/out/exp.crosstl.spv

experiments/e9_exhaustive/out/exp.crosstl.spvasm

experiments/e9_exhaustive/out/log.crosstl.metal

experiments/e9_exhaustive/out/log.crosstl.spv

experiments/e9_exhaustive/out/log.crosstl.spvasm

experiments/e9_exhaustive/out/log2.crosstl.metal

experiments/e9_exhaustive/out/log2.crosstl.spv

experiments/e9_exhaustive/out/log2.crosstl.spvasm

experiments/e9_exhaustive/out/sin.crosstl.metal

experiments/e9_exhaustive/out/sin.crosstl.spv

experiments/e9_exhaustive/out/sin.crosstl.spvasm

experiments/e9_exhaustive/out/tan.crosstl.metal

experiments/e9_exhaustive/out/tan.crosstl.spv

experiments/e9_exhaustive/out/tan.crosstl.spvasm

experiments/e9_exhaustive/run.log

experiments/e9_exhaustive/run_exhaustive.py

experiments/e9_exhaustive/run_exhaustive_v1.py

experiments/e9_exhaustive/run_ftz.log

experiments/harness/baselines.py

experiments/harness/crosstl_runner.py

experiments/harness/dxc_batch.py

experiments/harness/exec_worker.py

experiments/harness/nvcc_batch.py

experiments/harness/runtimes.py

experiments/harness/validators.py

experiments/harness/vkrun.c

experiments/post_v2r.sh

experiments/requirements-analysis.txt

experiments/requirements.txt

figures/fig_architecture.pdf

figures/fig_baselines.pdf

figures/fig_latency.pdf

figures/fig_latency_v2.pdf

figures/fig_projects.pdf

figures/fig_reach.pdf

figures/fig_reach_v2.pdf

research/defects_reconciled.md

research/refs_revision_verification.md

research/refs_specs.bib

research/semantic_hazards_spec.md

research/semantic_hazards_spec_errata.md

review/bib_verification_r2_manual.json

review/numbers_audit_v3.md

review/numbers_audit_v3.py

review/stage4prime/checks/q1_denominators.py

review/stage4prime/checks/q1_out.json

review/stage4prime/checks/q2_hr3_power.py

review/stage4prime/checks/q2_out.json

review/stage4prime/checks/q2b_by_target.py

review/stage4prime/checks/q2b_by_target_out.json

review/stage4prime/checks/q2c_exact_bounds.py

review/stage4prime/checks/q3_annotation_failures.py

review/stage4prime/checks/q3_enum_overlap.py

review/stage4prime/checks/q3_out.json

review/stage4prime/checks/q4_out.json

review/stage4prime/checks/q4_scaling.py

review/stage4prime/checks/q5_q6_q7.py

review/stage4prime/checks/q5_q6_q7_out.json

review/stage4prime/checks/q7_timeout_pairs.py

review/stage4prime/checks2/probe_oob_out/h_oob_read.boundsCheck.json

review/stage4prime/checks2/probe_oob_out/h_oob_read.boundsCheck.metallib

review/stage4prime/checks2/probe_oob_out/probe_oob_result.json

review/stage4prime/checks2/q1_mlx_assumptions_code.json

review/stage4prime/checks2/q1_mlx_assumptions_code.py

review/stage4prime/checks2/q1_mlx_assumptions_evidence.json

review/stage4prime/checks2/q1_mlx_assumptions_evidence.py

review/stage4prime/checks2/q1_mlx_exec_classification.json

review/stage4prime/checks2/q1_mlx_exec_classification.py

review/stage4prime/checks2/q1_mlx_families.json

review/stage4prime/checks2/q1_mlx_families.py

review/stage4prime/checks2/q1_mlx_upstream_code.json

review/stage4prime/checks2/q1_mlx_upstream_code.py

review/stage4prime/checks2/q1_mlx_upstream_evidence.json

review/stage4prime/checks2/q1_mlx_upstream_evidence.py

review/stage4prime/checks2/q2_classified.json

review/stage4prime/checks2/q2_classify.py

review/stage4prime/checks2/q2_distinct_mutations.py

review/stage4prime/checks2/q2_fault_injection_checks.json

review/stage4prime/checks2/q2_fault_injection_checks.py

review/stage4prime/checks2/q2_fault_injection_diag.json

review/stage4prime/checks2/q2_fault_injection_diag.py

review/stage4prime/checks2/q3_config_stack.json

review/stage4prime/checks2/q3_config_stack.py

review/stage4prime/checks2/q4_mvk_fastmath.json

review/stage4prime/checks2/q4_mvk_fastmath.py

review/stage4prime/checks2/q5_heldout_times.json

review/stage4prime/checks2/q5_heldout_times.py

review/stage4prime/checks2/q6_probe_oob_rerun.py

review/verify_bib.py

(889 additional files not shown) You must enabled JavaScript to view entire file list.

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.

Full text under the publisher's open licence · 1316 words

Related coverage