Skip to content

Commit 9b5abe9

Browse files
Merge pull request #700 from SKaiNET-developers/feature/690-minerva-module-api
feat(minerva): scaffold export module API
2 parents 1602b54 + 230d2a3 commit 9b5abe9

7 files changed

Lines changed: 696 additions & 0 deletions

File tree

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ include("skainet-compile:skainet-compile-opt")
3535
include("skainet-compile:skainet-compile-json")
3636
include("skainet-compile:skainet-compile-hlo")
3737
include("skainet-compile:skainet-compile-c")
38+
include("skainet-compile:skainet-compile-minerva")
3839

3940
// ====== BACKENDS
4041
include("skainet-backends:skainet-backend-api")
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
public final class sk/ainet/compile/minerva/MinervaExportBackend {
2+
public static final field INSTANCE Lsk/ainet/compile/minerva/MinervaExportBackend;
3+
public static final field backendName Ljava/lang/String;
4+
public static final field phaseOneScope Ljava/lang/String;
5+
}
6+
7+
public final class sk/ainet/compile/minerva/MinervaExportBundle {
8+
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/util/List;Ljava/lang/String;)V
9+
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/util/List;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
10+
public final fun component1 ()Ljava/lang/String;
11+
public final fun component2 ()Ljava/lang/String;
12+
public final fun component3 ()Lsk/ainet/compile/minerva/MinervaTarget;
13+
public final fun component4 ()Lsk/ainet/compile/minerva/MinervaQuantization;
14+
public final fun component5 ()Ljava/util/List;
15+
public final fun component6 ()Ljava/lang/String;
16+
public final fun copy (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/util/List;Ljava/lang/String;)Lsk/ainet/compile/minerva/MinervaExportBundle;
17+
public static synthetic fun copy$default (Lsk/ainet/compile/minerva/MinervaExportBundle;Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/util/List;Ljava/lang/String;ILjava/lang/Object;)Lsk/ainet/compile/minerva/MinervaExportBundle;
18+
public fun equals (Ljava/lang/Object;)Z
19+
public final fun getGeneratedFiles ()Ljava/util/List;
20+
public final fun getManifestPath ()Ljava/lang/String;
21+
public final fun getOutputDir ()Ljava/lang/String;
22+
public final fun getProjectName ()Ljava/lang/String;
23+
public final fun getQuantization ()Lsk/ainet/compile/minerva/MinervaQuantization;
24+
public final fun getTarget ()Lsk/ainet/compile/minerva/MinervaTarget;
25+
public fun hashCode ()I
26+
public fun toString ()Ljava/lang/String;
27+
}
28+
29+
public final class sk/ainet/compile/minerva/MinervaExportFacade {
30+
public fun <init> ()V
31+
public fun <init> (Ljava/lang/String;)V
32+
public synthetic fun <init> (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
33+
public final fun exportGraph (Lsk/ainet/lang/graph/ComputeGraph;Lsk/ainet/compile/minerva/MinervaExportOptions;)Lsk/ainet/compile/minerva/MinervaExportResult;
34+
public final fun exportModel (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lsk/ainet/compile/minerva/MinervaExportOptions;)Lsk/ainet/compile/minerva/MinervaExportResult;
35+
public final fun exportModel (Ljava/lang/Object;Lsk/ainet/compile/minerva/MinervaExportOptions;)Lsk/ainet/compile/minerva/MinervaExportResult;
36+
public final fun getBackendName ()Ljava/lang/String;
37+
}
38+
39+
public final class sk/ainet/compile/minerva/MinervaExportFailure {
40+
public fun <init> (Lsk/ainet/compile/minerva/MinervaExportFailureKind;Lsk/ainet/compile/export/GraphExportStage;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
41+
public synthetic fun <init> (Lsk/ainet/compile/minerva/MinervaExportFailureKind;Lsk/ainet/compile/export/GraphExportStage;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
42+
public final fun component1 ()Lsk/ainet/compile/minerva/MinervaExportFailureKind;
43+
public final fun component2 ()Lsk/ainet/compile/export/GraphExportStage;
44+
public final fun component3 ()Ljava/lang/String;
45+
public final fun component4 ()Ljava/lang/String;
46+
public final fun component5 ()Ljava/util/Map;
47+
public final fun copy (Lsk/ainet/compile/minerva/MinervaExportFailureKind;Lsk/ainet/compile/export/GraphExportStage;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lsk/ainet/compile/minerva/MinervaExportFailure;
48+
public static synthetic fun copy$default (Lsk/ainet/compile/minerva/MinervaExportFailure;Lsk/ainet/compile/minerva/MinervaExportFailureKind;Lsk/ainet/compile/export/GraphExportStage;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)Lsk/ainet/compile/minerva/MinervaExportFailure;
49+
public fun equals (Ljava/lang/Object;)Z
50+
public final fun getCode ()Ljava/lang/String;
51+
public final fun getDetails ()Ljava/util/Map;
52+
public final fun getKind ()Lsk/ainet/compile/minerva/MinervaExportFailureKind;
53+
public final fun getMessage ()Ljava/lang/String;
54+
public final fun getStage ()Lsk/ainet/compile/export/GraphExportStage;
55+
public fun hashCode ()I
56+
public fun toString ()Ljava/lang/String;
57+
}
58+
59+
public final class sk/ainet/compile/minerva/MinervaExportFailureKind : java/lang/Enum {
60+
public static final field GRAPH_VALIDATION_FAILED Lsk/ainet/compile/minerva/MinervaExportFailureKind;
61+
public static final field NOT_IMPLEMENTED Lsk/ainet/compile/minerva/MinervaExportFailureKind;
62+
public static final field RECORDING_FAILED Lsk/ainet/compile/minerva/MinervaExportFailureKind;
63+
public static final field UNSUPPORTED_MODEL_TYPE Lsk/ainet/compile/minerva/MinervaExportFailureKind;
64+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
65+
public static fun valueOf (Ljava/lang/String;)Lsk/ainet/compile/minerva/MinervaExportFailureKind;
66+
public static fun values ()[Lsk/ainet/compile/minerva/MinervaExportFailureKind;
67+
}
68+
69+
public final class sk/ainet/compile/minerva/MinervaExportOptions {
70+
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLjava/util/Map;)V
71+
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLjava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
72+
public final fun component1 ()Ljava/lang/String;
73+
public final fun component10 ()Z
74+
public final fun component11 ()Z
75+
public final fun component12 ()Z
76+
public final fun component13 ()Ljava/util/Map;
77+
public final fun component2 ()Ljava/lang/String;
78+
public final fun component3 ()Lsk/ainet/compile/minerva/MinervaTarget;
79+
public final fun component4 ()Lsk/ainet/compile/minerva/MinervaQuantization;
80+
public final fun component5 ()Ljava/lang/String;
81+
public final fun component6 ()Ljava/lang/String;
82+
public final fun component7 ()Ljava/lang/String;
83+
public final fun component8 ()Ljava/lang/String;
84+
public final fun component9 ()Z
85+
public final fun copy (Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLjava/util/Map;)Lsk/ainet/compile/minerva/MinervaExportOptions;
86+
public static synthetic fun copy$default (Lsk/ainet/compile/minerva/MinervaExportOptions;Ljava/lang/String;Ljava/lang/String;Lsk/ainet/compile/minerva/MinervaTarget;Lsk/ainet/compile/minerva/MinervaQuantization;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLjava/util/Map;ILjava/lang/Object;)Lsk/ainet/compile/minerva/MinervaExportOptions;
87+
public fun equals (Ljava/lang/Object;)Z
88+
public final fun getCalibrationNpz ()Ljava/lang/String;
89+
public final fun getCompilerScript ()Ljava/lang/String;
90+
public final fun getDumpWeights ()Z
91+
public final fun getGenerateFirmwareExample ()Z
92+
public final fun getGenerateHostHarness ()Z
93+
public final fun getKeyFile ()Ljava/lang/String;
94+
public final fun getMetadata ()Ljava/util/Map;
95+
public final fun getOutputDir ()Ljava/lang/String;
96+
public final fun getProjectName ()Ljava/lang/String;
97+
public final fun getQuantization ()Lsk/ainet/compile/minerva/MinervaQuantization;
98+
public final fun getRunHostVerification ()Z
99+
public final fun getRuntimeRoot ()Ljava/lang/String;
100+
public final fun getTarget ()Lsk/ainet/compile/minerva/MinervaTarget;
101+
public fun hashCode ()I
102+
public final fun toMetadata ()Ljava/util/Map;
103+
public fun toString ()Ljava/lang/String;
104+
}
105+
106+
public final class sk/ainet/compile/minerva/MinervaExportResult {
107+
public fun <init> (Lsk/ainet/compile/minerva/MinervaExportOptions;Lsk/ainet/compile/export/GraphExportStatus;Lsk/ainet/compile/minerva/MinervaExportBundle;Lsk/ainet/compile/export/GraphExportDiagnosticReport;Ljava/util/List;Lsk/ainet/compile/minerva/MinervaExportFailure;Ljava/util/Map;)V
108+
public synthetic fun <init> (Lsk/ainet/compile/minerva/MinervaExportOptions;Lsk/ainet/compile/export/GraphExportStatus;Lsk/ainet/compile/minerva/MinervaExportBundle;Lsk/ainet/compile/export/GraphExportDiagnosticReport;Ljava/util/List;Lsk/ainet/compile/minerva/MinervaExportFailure;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
109+
public final fun component1 ()Lsk/ainet/compile/minerva/MinervaExportOptions;
110+
public final fun component2 ()Lsk/ainet/compile/export/GraphExportStatus;
111+
public final fun component3 ()Lsk/ainet/compile/minerva/MinervaExportBundle;
112+
public final fun component4 ()Lsk/ainet/compile/export/GraphExportDiagnosticReport;
113+
public final fun component5 ()Ljava/util/List;
114+
public final fun component6 ()Lsk/ainet/compile/minerva/MinervaExportFailure;
115+
public final fun component7 ()Ljava/util/Map;
116+
public final fun copy (Lsk/ainet/compile/minerva/MinervaExportOptions;Lsk/ainet/compile/export/GraphExportStatus;Lsk/ainet/compile/minerva/MinervaExportBundle;Lsk/ainet/compile/export/GraphExportDiagnosticReport;Ljava/util/List;Lsk/ainet/compile/minerva/MinervaExportFailure;Ljava/util/Map;)Lsk/ainet/compile/minerva/MinervaExportResult;
117+
public static synthetic fun copy$default (Lsk/ainet/compile/minerva/MinervaExportResult;Lsk/ainet/compile/minerva/MinervaExportOptions;Lsk/ainet/compile/export/GraphExportStatus;Lsk/ainet/compile/minerva/MinervaExportBundle;Lsk/ainet/compile/export/GraphExportDiagnosticReport;Ljava/util/List;Lsk/ainet/compile/minerva/MinervaExportFailure;Ljava/util/Map;ILjava/lang/Object;)Lsk/ainet/compile/minerva/MinervaExportResult;
118+
public fun equals (Ljava/lang/Object;)Z
119+
public final fun getArtifacts ()Ljava/util/List;
120+
public final fun getBundle ()Lsk/ainet/compile/minerva/MinervaExportBundle;
121+
public final fun getDiagnostics ()Lsk/ainet/compile/export/GraphExportDiagnosticReport;
122+
public final fun getFailed ()Z
123+
public final fun getFailure ()Lsk/ainet/compile/minerva/MinervaExportFailure;
124+
public final fun getMetadata ()Ljava/util/Map;
125+
public final fun getOptions ()Lsk/ainet/compile/minerva/MinervaExportOptions;
126+
public final fun getStatus ()Lsk/ainet/compile/export/GraphExportStatus;
127+
public final fun getSucceeded ()Z
128+
public fun hashCode ()I
129+
public final fun requireSuccess ()Lsk/ainet/compile/minerva/MinervaExportBundle;
130+
public fun toString ()Ljava/lang/String;
131+
}
132+
133+
public final class sk/ainet/compile/minerva/MinervaQuantization : java/lang/Enum {
134+
public static final field Q8 Lsk/ainet/compile/minerva/MinervaQuantization;
135+
public final fun getCompilerId ()Ljava/lang/String;
136+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
137+
public static fun valueOf (Ljava/lang/String;)Lsk/ainet/compile/minerva/MinervaQuantization;
138+
public static fun values ()[Lsk/ainet/compile/minerva/MinervaQuantization;
139+
}
140+
141+
public final class sk/ainet/compile/minerva/MinervaTarget : java/lang/Enum {
142+
public static final field ATMEGA328P Lsk/ainet/compile/minerva/MinervaTarget;
143+
public final fun getCompilerId ()Ljava/lang/String;
144+
public final fun getDisplayName ()Ljava/lang/String;
145+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
146+
public final fun getFlashBytes ()I
147+
public final fun getSramBytes ()I
148+
public static fun valueOf (Ljava/lang/String;)Lsk/ainet/compile/minerva/MinervaTarget;
149+
public static fun values ()[Lsk/ainet/compile/minerva/MinervaTarget;
150+
}
151+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
3+
plugins {
4+
alias(libs.plugins.kotlinMultiplatform)
5+
alias(libs.plugins.vanniktech.mavenPublish)
6+
alias(libs.plugins.binary.compatibility.validator)
7+
id("sk.ainet.dokka")
8+
}
9+
10+
kotlin {
11+
explicitApi()
12+
13+
jvm {
14+
compilerOptions {
15+
jvmTarget.set(JvmTarget.JVM_21)
16+
}
17+
}
18+
19+
sourceSets {
20+
commonMain.dependencies {
21+
api(project(":skainet-lang:skainet-lang-core"))
22+
api(project(":skainet-compile:skainet-compile-core"))
23+
api(project(":skainet-compile:skainet-compile-dag"))
24+
}
25+
26+
commonTest.dependencies {
27+
implementation(libs.kotlin.test)
28+
}
29+
}
30+
}

0 commit comments

Comments
 (0)