Skip to content

Commit 7717d17

Browse files
Merge pull request #789 from SKaiNET-developers/fix/macos-build-and-api-dumps
fix(build): green build & allTests on macOS — refresh API dumps, gate Linux K/N tests
2 parents 0ecd620 + 72c12ba commit 7717d17

6 files changed

Lines changed: 213 additions & 18 deletions

File tree

skainet-backends/skainet-backend-cpu/api/jvm/skainet-backend-cpu.api

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public final class sk/ainet/context/DirectCpuExecutionContext : sk/ainet/context
2424
public fun getPhase ()Lsk/ainet/context/Phase;
2525
public fun getScratch ()Lsk/ainet/lang/tensor/scratch/ScratchPool;
2626
public fun getTensorDataFactory ()Lsk/ainet/lang/tensor/data/TensorDataFactory;
27+
public fun isRecording ()Z
2728
public fun ones (Lsk/ainet/lang/tensor/Shape;Lkotlin/reflect/KClass;)Lsk/ainet/lang/tensor/Tensor;
2829
public fun placeholder (Lsk/ainet/lang/tensor/Shape;Lkotlin/reflect/KClass;)Lsk/ainet/lang/tensor/Tensor;
2930
public fun registerObserver (Lsk/ainet/context/ExecutionObserver;)V
@@ -54,6 +55,7 @@ public final class sk/ainet/exec/kernel/PanamaVectorKernelProvider : sk/ainet/ba
5455
public fun matmulFp32 ()Lsk/ainet/backend/api/kernel/Fp32MatmulKernel;
5556
public fun matmulQ4K ()Lsk/ainet/backend/api/kernel/Q4KMatmulKernel;
5657
public fun matmulQ4_0 ()Lsk/ainet/backend/api/kernel/Q4_0MatmulKernel;
58+
public fun matmulQ5K ()Lsk/ainet/backend/api/kernel/Q5KMatmulKernel;
5759
public fun matmulQ5_0 ()Lsk/ainet/backend/api/kernel/Q5_0MatmulKernel;
5860
public fun matmulQ5_1 ()Lsk/ainet/backend/api/kernel/Q5_1MatmulKernel;
5961
public fun matmulQ6K ()Lsk/ainet/backend/api/kernel/Q6KMatmulKernel;
@@ -70,6 +72,7 @@ public final class sk/ainet/exec/kernel/PanamaVectorKernelProviderFactory : sk/a
7072
public fun matmulFp32 ()Lsk/ainet/backend/api/kernel/Fp32MatmulKernel;
7173
public fun matmulQ4K ()Lsk/ainet/backend/api/kernel/Q4KMatmulKernel;
7274
public fun matmulQ4_0 ()Lsk/ainet/backend/api/kernel/Q4_0MatmulKernel;
75+
public fun matmulQ5K ()Lsk/ainet/backend/api/kernel/Q5KMatmulKernel;
7376
public fun matmulQ5_0 ()Lsk/ainet/backend/api/kernel/Q5_0MatmulKernel;
7477
public fun matmulQ5_1 ()Lsk/ainet/backend/api/kernel/Q5_1MatmulKernel;
7578
public fun matmulQ6K ()Lsk/ainet/backend/api/kernel/Q6KMatmulKernel;
@@ -102,6 +105,11 @@ public final class sk/ainet/exec/kernel/PanamaVectorQ5_1MatmulKernel : sk/ainet/
102105
public fun matmul ([FI[BIII[FI)V
103106
}
104107

108+
public final class sk/ainet/exec/kernel/PanamaVectorQ5_KMatmulKernel : sk/ainet/backend/api/kernel/Q5KMatmulKernel {
109+
public static final field INSTANCE Lsk/ainet/exec/kernel/PanamaVectorQ5_KMatmulKernel;
110+
public fun matmul ([FI[BIII[FI)V
111+
}
112+
105113
public final class sk/ainet/exec/kernel/PanamaVectorQ6_KMatmulKernel : sk/ainet/backend/api/kernel/Q6KMatmulKernel {
106114
public static final field INSTANCE Lsk/ainet/exec/kernel/PanamaVectorQ6_KMatmulKernel;
107115
public fun matmul ([FI[BIII[FI)V
@@ -126,6 +134,7 @@ public final class sk/ainet/exec/kernel/ScalarKernelProvider : sk/ainet/backend/
126134
public fun matmulFp32 ()Lsk/ainet/backend/api/kernel/Fp32MatmulKernel;
127135
public fun matmulQ4K ()Lsk/ainet/backend/api/kernel/Q4KMatmulKernel;
128136
public fun matmulQ4_0 ()Lsk/ainet/backend/api/kernel/Q4_0MatmulKernel;
137+
public fun matmulQ5K ()Lsk/ainet/backend/api/kernel/Q5KMatmulKernel;
129138
public fun matmulQ5_0 ()Lsk/ainet/backend/api/kernel/Q5_0MatmulKernel;
130139
public fun matmulQ5_1 ()Lsk/ainet/backend/api/kernel/Q5_1MatmulKernel;
131140
public fun matmulQ6K ()Lsk/ainet/backend/api/kernel/Q6KMatmulKernel;
@@ -142,6 +151,7 @@ public final class sk/ainet/exec/kernel/ScalarKernelProviderFactory : sk/ainet/b
142151
public fun matmulFp32 ()Lsk/ainet/backend/api/kernel/Fp32MatmulKernel;
143152
public fun matmulQ4K ()Lsk/ainet/backend/api/kernel/Q4KMatmulKernel;
144153
public fun matmulQ4_0 ()Lsk/ainet/backend/api/kernel/Q4_0MatmulKernel;
154+
public fun matmulQ5K ()Lsk/ainet/backend/api/kernel/Q5KMatmulKernel;
145155
public fun matmulQ5_0 ()Lsk/ainet/backend/api/kernel/Q5_0MatmulKernel;
146156
public fun matmulQ5_1 ()Lsk/ainet/backend/api/kernel/Q5_1MatmulKernel;
147157
public fun matmulQ6K ()Lsk/ainet/backend/api/kernel/Q6KMatmulKernel;
@@ -174,6 +184,11 @@ public final class sk/ainet/exec/kernel/ScalarQ5_1MatmulKernel : sk/ainet/backen
174184
public fun matmul ([FI[BIII[FI)V
175185
}
176186

187+
public final class sk/ainet/exec/kernel/ScalarQ5_KMatmulKernel : sk/ainet/backend/api/kernel/Q5KMatmulKernel {
188+
public static final field INSTANCE Lsk/ainet/exec/kernel/ScalarQ5_KMatmulKernel;
189+
public fun matmul ([FI[BIII[FI)V
190+
}
191+
177192
public final class sk/ainet/exec/kernel/ScalarQ6_KMatmulKernel : sk/ainet/backend/api/kernel/Q6KMatmulKernel {
178193
public static final field INSTANCE Lsk/ainet/exec/kernel/ScalarQ6_KMatmulKernel;
179194
public fun matmul ([FI[BIII[FI)V
@@ -287,6 +302,21 @@ public final class sk/ainet/exec/tensor/ops/JvmTurboQuantKernels {
287302
public final fun walshHadamardButterfly ([FII)V
288303
}
289304

305+
public final class sk/ainet/exec/tensor/ops/KernelProfile {
306+
public static final field INSTANCE Lsk/ainet/exec/tensor/ops/KernelProfile;
307+
public final fun getFp32Calls ()J
308+
public final fun getFp32Nanos ()J
309+
public final fun getGenericCalls ()J
310+
public final fun getGenericNanos ()J
311+
public final fun getQuantCalls ()J
312+
public final fun getQuantNanos ()J
313+
public final fun report ()Ljava/lang/String;
314+
public final fun reset ()V
315+
public final fun timeFp32 (Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
316+
public final fun timeGeneric (Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
317+
public final fun timeQuant (Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
318+
}
319+
290320
public final class sk/ainet/java/SKaiNET {
291321
public static final field INSTANCE Lsk/ainet/java/SKaiNET;
292322
public static final fun context ()Lsk/ainet/context/ExecutionContext;

skainet-backends/skainet-backend-native-cpu/build.gradle.kts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,23 @@ tasks.matching { it.name.startsWith("link") && it.name.endsWith("LinuxX64") }.co
146146
dependsOn(buildNativeKernels)
147147
}
148148

149+
// The linuxX64/linuxArm64 K/N *test* binaries link the CMake static archive and
150+
// execute a Linux ELF. On a non-Linux host the CMake build emits host-format
151+
// objects (Mach-O on macOS), which ld.lld cannot cross-link into a Linux binary,
152+
// and a Linux .kexe cannot be executed anyway. Disable the K/N test link + run
153+
// on non-Linux hosts so `build`/`allTests` stay green locally; klib compilation
154+
// (compileKotlinLinux*) and publishing are unaffected, and the native NEON parity
155+
// suite still runs on Linux CI / qemu-aarch64 / the SL2610 board. Mirrors the
156+
// existing `-PcrossArm64` opt-in gating for the aarch64 cross artifacts.
157+
val isLinuxHost: Boolean = System.getProperty("os.name").lowercase().contains("linux")
158+
if (!isLinuxHost) {
159+
tasks.matching {
160+
(it.name.startsWith("link") && it.name.contains("Test") &&
161+
(it.name.endsWith("LinuxX64") || it.name.endsWith("LinuxArm64"))) ||
162+
it.name == "linuxX64Test" || it.name == "linuxArm64Test"
163+
}.configureEach { enabled = false }
164+
}
165+
149166
val packageNativeKernels by tasks.registering(Copy::class) {
150167
group = "build"
151168
description = "Stage the built native kernels library into JVM resources."

skainet-compile/skainet-compile-dag/api/jvm/skainet-compile-dag.api

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,19 @@ public final class sk/ainet/lang/graph/DefaultGradientTape : sk/ainet/lang/graph
8282
public fun conv1dBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8383
public fun conv2dBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8484
public fun conv3dBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
85+
public fun convTranspose1dBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8586
public fun copy ()Lsk/ainet/tape/ExecutionTape;
87+
public fun cosBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8688
public fun divScalarBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8789
public fun divideBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8890
public fun eluBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
8991
public fun expBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9092
public fun expm1Backward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9193
public fun flattenBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
94+
public fun gatherBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9295
public fun geluBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9396
public fun getComputeGradients ()Z
97+
public fun indexSelectBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9498
public fun leakyReluBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
9599
public fun log10Backward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
96100
public fun log2Backward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
@@ -116,6 +120,7 @@ public final class sk/ainet/lang/graph/DefaultGradientTape : sk/ainet/lang/graph
116120
public fun scaledDotProductAttentionBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
117121
public fun sigmoidBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
118122
public fun siluBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
123+
public fun sinBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
119124
public fun softmaxBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
120125
public fun splitBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
121126
public fun sqrtBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
@@ -127,6 +132,8 @@ public final class sk/ainet/lang/graph/DefaultGradientTape : sk/ainet/lang/graph
127132
public final fun suppressRecording ()V
128133
public fun tanhBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
129134
public fun transposeBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
135+
public fun trilBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
136+
public fun unfoldBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
130137
public fun unsqueezeBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
131138
public fun upsample2dBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
132139
public fun varianceBackward (Lsk/ainet/lang/tensor/Tensor;Lsk/ainet/lang/tensor/Tensor;Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
@@ -280,6 +287,24 @@ public final class sk/ainet/lang/graph/GraphNode {
280287
public abstract interface class sk/ainet/lang/graph/Layout {
281288
}
282289

290+
public final class sk/ainet/lang/graph/OutputDesignatedGraph : sk/ainet/lang/graph/ComputeGraph {
291+
public fun <init> (Lsk/ainet/lang/graph/ComputeGraph;Ljava/util/Set;)V
292+
public fun addEdge (Lsk/ainet/lang/graph/GraphEdge;)Lsk/ainet/lang/graph/GraphEdge;
293+
public fun addNode (Lsk/ainet/lang/graph/GraphNode;)Lsk/ainet/lang/graph/GraphNode;
294+
public fun clear ()V
295+
public fun copy ()Lsk/ainet/lang/graph/ComputeGraph;
296+
public fun getEdges ()Ljava/util/List;
297+
public fun getInputNodes ()Ljava/util/List;
298+
public fun getInputNodes (Lsk/ainet/lang/graph/GraphNode;)Ljava/util/List;
299+
public fun getNodes ()Ljava/util/List;
300+
public fun getOutputNodes ()Ljava/util/List;
301+
public fun getOutputNodes (Lsk/ainet/lang/graph/GraphNode;)Ljava/util/List;
302+
public fun getTopologicalOrder ()Ljava/util/List;
303+
public fun removeEdge (Lsk/ainet/lang/graph/GraphEdge;)Z
304+
public fun removeNode (Lsk/ainet/lang/graph/GraphNode;)Z
305+
public fun validate ()Lsk/ainet/lang/tensor/ops/ValidationResult;
306+
}
307+
283308
public final class sk/ainet/lang/graph/ResolvedComputeGraph {
284309
public fun <init> (Lsk/ainet/lang/graph/ComputeGraph;)V
285310
public final fun backendAssignment (Ljava/lang/String;)Ljava/lang/String;

skainet-compile/skainet-compile-opt/api/jvm/skainet-compile-opt.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public final class sk/ainet/compile/opt/GraphOptimizationResult {
4747
public fun toString ()Ljava/lang/String;
4848
}
4949

50+
public final class sk/ainet/compile/opt/GraphPruningKt {
51+
public static final fun prunedToOutputs (Lsk/ainet/lang/graph/ComputeGraph;Ljava/util/Set;)Lsk/ainet/lang/graph/ComputeGraph;
52+
}
53+
5054
public final class sk/ainet/compile/opt/passes/ConstantFoldingPass : sk/ainet/compile/opt/GraphOptimizationPass {
5155
public fun <init> ()V
5256
public fun apply (Lsk/ainet/lang/graph/ComputeGraph;)Lsk/ainet/compile/opt/GraphOptimizationResult;

0 commit comments

Comments
 (0)