diff --git a/manifests/manifest.yml b/manifests/manifest.yml index 9216562832..39cf95d980 100644 --- a/manifests/manifest.yml +++ b/manifests/manifest.yml @@ -42,7 +42,7 @@ components: dest_dir: kernels_bin type: git branch: kernels_bin - revision: 2479-1842 + revision: 2479-1841 kmdaf: branch: kmdaf dest_dir: kmdaf diff --git a/opencl/test/unit_test/built_ins/built_in_tests.cpp b/opencl/test/unit_test/built_ins/built_in_tests.cpp index 01f8343390..7cbf384d34 100644 --- a/opencl/test/unit_test/built_ins/built_in_tests.cpp +++ b/opencl/test/unit_test/built_ins/built_in_tests.cpp @@ -1479,7 +1479,7 @@ TEST_F(VmeBuiltInTests, WhenGettingBuiltinAsStringThenCorrectStringIsReturned) { TEST_F(BuiltInTests, GivenEncodeTypeWhenGettingExtensionThenCorrectStringIsReturned) { EXPECT_EQ(0, strcmp("", BuiltinCode::getExtension(BuiltinCode::ECodeType::any))); EXPECT_EQ(0, strcmp(".bin", BuiltinCode::getExtension(BuiltinCode::ECodeType::binary))); - EXPECT_EQ(0, strcmp(".spv", BuiltinCode::getExtension(BuiltinCode::ECodeType::intermediate))); + EXPECT_EQ(0, strcmp(".bc", BuiltinCode::getExtension(BuiltinCode::ECodeType::intermediate))); EXPECT_EQ(0, strcmp(".cl", BuiltinCode::getExtension(BuiltinCode::ECodeType::source))); EXPECT_EQ(0, strcmp("", BuiltinCode::getExtension(BuiltinCode::ECodeType::count))); EXPECT_EQ(0, strcmp("", BuiltinCode::getExtension(BuiltinCode::ECodeType::invalid))); diff --git a/opencl/test/unit_test/compiler_interface/cl_compiler_interface_tests.cpp b/opencl/test/unit_test/compiler_interface/cl_compiler_interface_tests.cpp index 6b68a47d4d..dbfa3f281c 100644 --- a/opencl/test/unit_test/compiler_interface/cl_compiler_interface_tests.cpp +++ b/opencl/test/unit_test/compiler_interface/cl_compiler_interface_tests.cpp @@ -79,7 +79,7 @@ TEST_F(ClCompilerInterfaceTest, WhenCompileIsInvokedThenFclReceivesListOfExtensi std::string receivedInternalOptions; MockCompilerDebugVars fclDebugVars; - retrieveBinaryKernelFilename(fclDebugVars.fileName, "CopyBuffer_simd16_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, "CopyBuffer_simd16_", ".bc"); fclDebugVars.receivedInternalOptionsOutput = &receivedInternalOptions; gEnvironment->fclPushDebugVars(fclDebugVars); TranslationOutput translationOutput = {}; diff --git a/opencl/test/unit_test/fixtures/built_in_fixture.cpp b/opencl/test/unit_test/fixtures/built_in_fixture.cpp index 759ff85cfd..5ec53a7b8e 100644 --- a/opencl/test/unit_test/fixtures/built_in_fixture.cpp +++ b/opencl/test/unit_test/fixtures/built_in_fixture.cpp @@ -30,7 +30,7 @@ void BuiltInFixture::setUp(Device *pDevice) { } else { builtInsFileName = KernelBinaryHelper::BUILT_INS; } - retrieveBinaryKernelFilename(fclDebugVars.fileName, builtInsFileName + "_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, builtInsFileName + "_", ".bc"); retrieveBinaryKernelFilename(igcDebugVars.fileName, builtInsFileName + "_", ".bin"); gEnvironment->fclPushDebugVars(fclDebugVars); diff --git a/opencl/test/unit_test/fixtures/run_kernel_fixture.h b/opencl/test/unit_test/fixtures/run_kernel_fixture.h index 4ee782771e..98117916c8 100644 --- a/opencl/test/unit_test/fixtures/run_kernel_fixture.h +++ b/opencl/test/unit_test/fixtures/run_kernel_fixture.h @@ -22,7 +22,7 @@ inline void overwriteBuiltInBinaryName( MockCompilerDebugVars fclDebugVars; MockCompilerDebugVars igcDebugVars; - retrieveBinaryKernelFilename(fclDebugVars.fileName, filename + "_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, filename + "_", ".bc"); fclDebugVars.appendOptionsToFileName = appendOptionsToFileName; retrieveBinaryKernelFilename(igcDebugVars.fileName, filename + "_", ".bin"); diff --git a/opencl/test/unit_test/offline_compiler/CMakeLists.txt b/opencl/test/unit_test/offline_compiler/CMakeLists.txt index bca3ea896c..d524f1867b 100644 --- a/opencl/test/unit_test/offline_compiler/CMakeLists.txt +++ b/opencl/test/unit_test/offline_compiler/CMakeLists.txt @@ -177,7 +177,7 @@ if(WIN32) TARGET run_ocloc_tests POST_BUILD COMMAND echo deleting offline compiler files and directories... - COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/copybuffer_${CLOC_LIB_DEFAULT_DEVICE}.spv + COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/copybuffer_${CLOC_LIB_DEFAULT_DEVICE}.bc COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/copybuffer_${CLOC_LIB_DEFAULT_DEVICE}.gen COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/copybuffer_${CLOC_LIB_DEFAULT_DEVICE}.bin COMMAND ${CMAKE_COMMAND} -E remove_directory ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/offline_compiler_test @@ -189,7 +189,7 @@ else() TARGET run_ocloc_tests POST_BUILD COMMAND echo deleting offline compiler files and directories... - COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/*.spv + COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/*.bc COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/*.gen COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/*.ll COMMAND ${CMAKE_COMMAND} -E remove ${TargetDir}/${CLOC_LIB_DEFAULT_DEVICE}/*.bin diff --git a/opencl/test/unit_test/offline_compiler/environment.h b/opencl/test/unit_test/offline_compiler/environment.h index 90932012b3..9fe5fd22f4 100644 --- a/opencl/test/unit_test/offline_compiler/environment.h +++ b/opencl/test/unit_test/offline_compiler/environment.h @@ -22,7 +22,7 @@ class Environment : public ::testing::Environment { const std::string filename) { retrieveBinaryKernelFilename(igcDebugVars.fileName, filename + "_", ".bin"); - retrieveBinaryKernelFilename(fclDebugVars.fileName, filename + "_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, filename + "_", ".bc"); NEO::setIgcDebugVars(igcDebugVars); NEO::setFclDebugVars(fclDebugVars); diff --git a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp index f63eb521b0..6eac79f35f 100644 --- a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp +++ b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp @@ -3181,7 +3181,6 @@ TEST(OfflineCompilerTest, givenUseLlvmBcFlagWhenBuildingIrBinaryThenProperTransl auto mockFclOclDeviceCtx = new NEO::MockFclOclDeviceCtx(); mockOfflineCompiler.mockFclFacade->fclDeviceCtx = CIF::RAII::Pack(mockFclOclDeviceCtx); - mockOfflineCompiler.inputFileLlvm = true; mockOfflineCompiler.useLlvmBc = true; const auto buildResult = mockOfflineCompiler.buildIrBinary(); EXPECT_EQ(CL_SUCCESS, buildResult); diff --git a/shared/generate_cpp_array/source/generate_cpp_array.cpp b/shared/generate_cpp_array/source/generate_cpp_array.cpp index a1dcde7d26..38ff896e82 100644 --- a/shared/generate_cpp_array/source/generate_cpp_array.cpp +++ b/shared/generate_cpp_array/source/generate_cpp_array.cpp @@ -75,7 +75,7 @@ std::string parseToCharArray(std::unique_ptr &binary, size_t size, st out << std::endl; out << " \""; deviceIp != "" ? out << deviceIp << "_" << builtinName : out << builtinName; - isSpirV ? out << ".builtin_kernel.spv\"," : out << ".builtin_kernel.bin\","; + isSpirV ? out << ".builtin_kernel.bc\"," : out << ".builtin_kernel.bin\","; out << std::endl; out << " (const char *)" << builtinName; if (deviceIpPresent) { diff --git a/shared/offline_compiler/source/offline_compiler.cpp b/shared/offline_compiler/source/offline_compiler.cpp index aa2709b7b2..12f516c02b 100644 --- a/shared/offline_compiler/source/offline_compiler.cpp +++ b/shared/offline_compiler/source/offline_compiler.cpp @@ -454,11 +454,6 @@ struct OfflineCompiler::buildInfo { int OfflineCompiler::buildIrBinary() { int retVal = OCLOC_SUCCESS; - pBuildInfo->intermediateRepresentation = preferredIntermediateRepresentation; - if (inputFileLlvm) { - pBuildInfo->intermediateRepresentation = useLlvmText ? IGC::CodeType::llvmLl : IGC::CodeType::llvmBc; - } - isSpirV = pBuildInfo->intermediateRepresentation == IGC::CodeType::spirV; if (allowCaching) { const std::string igcRevision = igcFacade->getIgcRevision(); @@ -475,6 +470,8 @@ int OfflineCompiler::buildIrBinary() { } UNRECOVERABLE_IF(!fclFacade->isInitialized()); + pBuildInfo->intermediateRepresentation = useLlvmText ? IGC::CodeType::llvmLl + : (useLlvmBc ? IGC::CodeType::llvmBc : preferredIntermediateRepresentation); // sourceCode.size() returns the number of characters without null terminated char CIF::RAII::UPtr_t fclSrc = nullptr; @@ -536,6 +533,7 @@ int OfflineCompiler::buildIrBinary() { } storeBinary(irBinary, irBinarySize, pBuildInfo->fclOutput->GetOutput()->GetMemory(), pBuildInfo->fclOutput->GetOutput()->GetSizeRaw()); + isSpirV = pBuildInfo->intermediateRepresentation == IGC::CodeType::spirV; updateBuildLog(pBuildInfo->fclOutput->GetBuildLog()->GetMemory(), pBuildInfo->fclOutput->GetBuildLog()->GetSizeRaw()); diff --git a/shared/offline_compiler/source/offline_compiler.h b/shared/offline_compiler/source/offline_compiler.h index 8ebe1c2656..40ca29e590 100644 --- a/shared/offline_compiler/source/offline_compiler.h +++ b/shared/offline_compiler/source/offline_compiler.h @@ -193,7 +193,7 @@ All supported acronyms: %s. bool inputFileSpirV = false; bool outputNoSuffix = false; bool forceStatelessToStatefulOptimization = false; - bool isSpirV = true; + bool isSpirV = false; bool showHelp = false; bool excludeIr = false; diff --git a/shared/source/built_ins/built_ins.h b/shared/source/built_ins/built_ins.h index 9f21b297c3..1cc58c8138 100644 --- a/shared/source/built_ins/built_ins.h +++ b/shared/source/built_ins/built_ins.h @@ -53,7 +53,7 @@ struct BuiltinCode { case BuiltinCode::ECodeType::binary: return ".bin"; case BuiltinCode::ECodeType::intermediate: - return ".spv"; + return ".bc"; case BuiltinCode::ECodeType::source: return ".cl"; } diff --git a/shared/test/common/common_main.cpp b/shared/test/common/common_main.cpp index d90c5ca1ca..43a3cc20fd 100644 --- a/shared/test/common/common_main.cpp +++ b/shared/test/common/common_main.cpp @@ -402,7 +402,7 @@ int main(int argc, char **argv) { } else { builtInsFileName = KernelBinaryHelper::BUILT_INS; } - retrieveBinaryKernelFilename(fclDebugVars.fileName, builtInsFileName + "_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, builtInsFileName + "_", ".bc"); retrieveBinaryKernelFilename(igcDebugVars.fileName, builtInsFileName + "_", ".bin"); gEnvironment->setMockFileNames(fclDebugVars.fileName, igcDebugVars.fileName); diff --git a/shared/test/common/helpers/kernel_binary_helper.cpp b/shared/test/common/helpers/kernel_binary_helper.cpp index 808df2ff26..90a6c0418c 100644 --- a/shared/test/common/helpers/kernel_binary_helper.cpp +++ b/shared/test/common/helpers/kernel_binary_helper.cpp @@ -19,7 +19,7 @@ KernelBinaryHelper::KernelBinaryHelper(const std::string &name, bool appendOptio MockCompilerDebugVars fclDebugVars; MockCompilerDebugVars igcDebugVars; - retrieveBinaryKernelFilename(fclDebugVars.fileName, name + "_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, name + "_", ".bc"); retrieveBinaryKernelFilename(igcDebugVars.fileName, name + "_", ".bin"); appendBinaryNameSuffix(fclDebugVars.fileNameSuffix); diff --git a/shared/test/common/helpers/test_files.cpp b/shared/test/common/helpers/test_files.cpp index 9c321d1a2e..60be659566 100644 --- a/shared/test/common/helpers/test_files.cpp +++ b/shared/test/common/helpers/test_files.cpp @@ -32,6 +32,10 @@ void retrieveBinaryKernelFilename(std::string &outputFilename, const std::string } outputFilename.append(binaryNameSuffix); outputFilename.append(extension); + + if (!fileExists(outputFilename) && (extension == ".bc")) { + retrieveBinaryKernelFilename(outputFilename, kernelName, ".spv", options); + } } void retrieveBinaryKernelFilenameApiSpecific(std::string &outputFilename, const std::string &kernelName, const std::string &extension, const std::string &options) { @@ -44,8 +48,12 @@ void retrieveBinaryKernelFilenameApiSpecific(std::string &outputFilename, const outputFilename.append(binaryNameSuffix); outputFilename.append(extension); outputFilename.append(options); + + if (!fileExists(outputFilename) && (extension == ".bc")) { + retrieveBinaryKernelFilename(outputFilename, kernelName, ".spv", options); + } } void appendBinaryNameSuffix(std::string &outputFileNameSuffix) { outputFileNameSuffix.append(binaryNameSuffix); -} +} \ No newline at end of file diff --git a/shared/test/unit_test/built_ins/builtin_tests.cpp b/shared/test/unit_test/built_ins/builtin_tests.cpp index a506cd61e5..d654e1b4d9 100644 --- a/shared/test/unit_test/built_ins/builtin_tests.cpp +++ b/shared/test/unit_test/built_ins/builtin_tests.cpp @@ -115,7 +115,7 @@ HWTEST_F(BuiltInSharedTest, GivenRequestedTypeIntermediateWhenGettingResourceNam auto resourceNames = getBuiltinResourceNames(EBuiltInOps::copyBufferToBuffer, BuiltinCode::ECodeType::intermediate, *pDevice); - std::string expectedResourceNameGeneric = "copy_buffer_to_buffer.builtin_kernel.spv"; + std::string expectedResourceNameGeneric = "copy_buffer_to_buffer.builtin_kernel.bc"; std::string expectedResourceNameForRelease = deviceIpString + "_" + expectedResourceNameGeneric; EXPECT_EQ(2u, resourceNames.size()); diff --git a/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp b/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp index 5e9b1ffb71..a6b00de226 100644 --- a/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp +++ b/shared/test/unit_test/compiler_interface/compiler_interface_tests.cpp @@ -224,7 +224,7 @@ TEST_F(CompilerInterfaceTest, GivenOptionsWhenCompilingToIsaThenSuccessIsReturne TEST_F(CompilerInterfaceTest, WhenCompilingToIrThenSuccessIsReturned) { MockCompilerDebugVars fclDebugVars; - retrieveBinaryKernelFilename(fclDebugVars.fileName, "CopyBuffer_simd32_", ".spv"); + retrieveBinaryKernelFilename(fclDebugVars.fileName, "CopyBuffer_simd32_", ".bc"); gEnvironment->fclPushDebugVars(fclDebugVars); TranslationOutput translationOutput = {}; auto err = pCompilerInterface->compile(*pDevice, inputArgs, translationOutput); @@ -305,7 +305,7 @@ TEST_F(CompilerInterfaceTest, GivenForceBuildFailureWhenLinkingIrThenLinkFailure TEST_F(CompilerInterfaceTest, WhenLinkIsCalledThenOclGenBinIsTheTranslationTarget) { // link only from .ll to gen ISA MockCompilerDebugVars igcDebugVars; - retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".spv"); + retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".bc"); gEnvironment->igcPushDebugVars(igcDebugVars); TranslationOutput translationOutput = {}; auto err = pCompilerInterface->link(*pDevice, inputArgs, translationOutput); @@ -372,7 +372,7 @@ TEST_F(CompilerInterfaceTest, GivenForceBuildFailureWhenCreatingLibraryThenLinkF TEST_F(CompilerInterfaceTest, WhenCreateLibraryIsCalledThenLlvmBcIsUsedAsIntermediateRepresentation) { // create library from .ll to IR MockCompilerDebugVars igcDebugVars; - retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".spv"); + retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".bc"); gEnvironment->igcPushDebugVars(igcDebugVars); TranslationOutput translationOutput = {}; auto err = pCompilerInterface->createLibrary(*pDevice, inputArgs, translationOutput); @@ -418,7 +418,7 @@ TEST_F(CompilerInterfaceTest, GivenForceBuildFailureWhenFclBuildingThenBuildFail fclDebugVars.forceCreateFailure = false; fclDebugVars.forceBuildFailure = true; fclDebugVars.forceRegisterFail = false; - fclDebugVars.fileName = "copybuffer_skl.spv"; + fclDebugVars.fileName = "copybuffer_skl.bc"; gEnvironment->fclPushDebugVars(fclDebugVars); @@ -1039,7 +1039,7 @@ TEST_F(CompilerInterfaceTest, whenGetIgcDeviceCtxReturnsNullptrThenGetSipKernelB TEST_F(CompilerInterfaceTest, whenEverythingIsOkThenGetSipKernelReturnsIgcsOutputAsSipBinary) { MockCompilerDebugVars igcDebugVars; - retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".spv"); + retrieveBinaryKernelFilename(igcDebugVars.fileName, "CopyBuffer_simd32_", ".bc"); gEnvironment->igcPushDebugVars(igcDebugVars); std::vector sipBinary; std::vector stateAreaHeader; diff --git a/shared/test/unit_test/ult_specific_config.cpp b/shared/test/unit_test/ult_specific_config.cpp index e3dd593720..d1588d33f4 100644 --- a/shared/test/unit_test/ult_specific_config.cpp +++ b/shared/test/unit_test/ult_specific_config.cpp @@ -46,17 +46,17 @@ using namespace NEO; void cleanTestHelpers() {} void applyWorkarounds() { - const std::array builtinIntermediateNames{"copy_buffer_to_buffer.builtin_kernel.spv", - "copy_buffer_rect.builtin_kernel.spv", - "fill_buffer.builtin_kernel.spv", - "copy_buffer_to_image3d.builtin_kernel.spv", - "copy_image3d_to_buffer.builtin_kernel.spv", - "copy_image_to_image1d.builtin_kernel.spv", - "copy_image_to_image2d.builtin_kernel.spv", - "copy_image_to_image3d.builtin_kernel.spv", - "fill_image1d.builtin_kernel.spv", - "fill_image2d.builtin_kernel.spv", - "fill_image3d.builtin_kernel.spv"}; + const std::array builtinIntermediateNames{"copy_buffer_to_buffer.builtin_kernel.bc", + "copy_buffer_rect.builtin_kernel.bc", + "fill_buffer.builtin_kernel.bc", + "copy_buffer_to_image3d.builtin_kernel.bc", + "copy_image3d_to_buffer.builtin_kernel.bc", + "copy_image_to_image1d.builtin_kernel.bc", + "copy_image_to_image2d.builtin_kernel.bc", + "copy_image_to_image3d.builtin_kernel.bc", + "fill_image1d.builtin_kernel.bc", + "fill_image2d.builtin_kernel.bc", + "fill_image3d.builtin_kernel.bc"}; auto &storageRegistry = EmbeddedStorageRegistry::getInstance(); for (auto builtinIntermediateName : builtinIntermediateNames) { std::string resource = "__mock_spirv_resource";