public static void GenerateKernels(string kernelDirectory) { string baseKernelPath = $"{kernelDirectory}/BaseKernel.cs"; if (!File.Exists(baseKernelPath)) { throw new Exception("No base kernel detected!"); } string[] code = File.ReadAllLines(baseKernelPath); var constantMapping = new ConstantMapping(code); var functionMappings = new FunctionMapping(code); string[] kerenelFiles = Directory.GetFiles(kernelDirectory); foreach (string kernelPath in kerenelFiles) { string kernelName = Path.GetFileNameWithoutExtension(kernelPath); if (kernelName == "BaseKernel") { continue; } KernelFile kernelFile = CreateKernel(kernelPath, constantMapping, functionMappings); KernelCache.Add(kernelName, kernelFile); } }
public static void GenerateKernels(string kernelDirectory) { string symbolPath = string.Format("{0}/SymbolKernel.cs", kernelDirectory); if (!File.Exists(symbolPath)) { throw new Exception("No symbol kernel detected!"); } SymbolMapping symbolMapping = CreateSymbolMapping(symbolPath); string[] kerenelFiles = Directory.GetFiles(kernelDirectory); foreach (string kernelPath in kerenelFiles) { string kernelName = Path.GetFileNameWithoutExtension(kernelPath); if (kernelName == "SymbolKernel") { continue; } KernelFile kernelFile = CreateKernel(kernelPath, symbolMapping); KernelCache.Add(kernelName, kernelFile); } }