1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
From f031f4d7ab4021c2b60391b3a957e75fac14c2e3 Mon Sep 17 00:00:00 2001
From: Dongwon Kim <dongwon.kim@intel.com>
Date: Sat, 21 Aug 2021 11:27:59 -0700
Subject: [PATCH] Revert "Change builtin kernels compilation process"
This reverts commit ab52c702337358af57140e760d618549372e1cdd.
Upstream-Status: Pending
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
.../offline_compiler_tests.cpp | 23 ----------------
.../source/offline_compiler.cpp | 2 +-
.../source/built_ins/kernels/CMakeLists.txt | 26 +++++++------------
3 files changed, 10 insertions(+), 41 deletions(-)
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 1427cd5cc..8b913d740 100644
--- a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp
+++ b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp
@@ -1651,27 +1651,4 @@ TEST(OclocCompile, givenPackedDeviceBinaryFormatWhenGeneratingElfBinaryThenItIsR
ASSERT_EQ(true, ocloc.generateElfBinary());
EXPECT_EQ(0, memcmp(zebin.storage.data(), ocloc.elfBinary.data(), zebin.storage.size()));
}
-
-TEST(OclocCompile, givenSpirvInputThenDontGenerateSpirvFile) {
- MockOfflineCompiler ocloc;
-
- std::vector<std::string> argv = {
- "ocloc",
- "-q",
- "-file",
- "test_files/binary_with_zeroes",
- "-out_dir",
- "offline_compiler_test",
- "-device",
- gEnvironment->devicePrefix.c_str(),
- "-spirv_input"};
-
- int retVal = ocloc.initialize(argv.size(), argv);
- ASSERT_EQ(0, retVal);
- retVal = ocloc.build();
- EXPECT_EQ(0, retVal);
- EXPECT_TRUE(compilerOutputExists("offline_compiler_test/binary_with_zeroes", "gen"));
- EXPECT_TRUE(compilerOutputExists("offline_compiler_test/binary_with_zeroes", "bin"));
- EXPECT_FALSE(compilerOutputExists("offline_compiler_test/binary_with_zeroes", "spv"));
-}
} // namespace NEO
diff --git a/shared/offline_compiler/source/offline_compiler.cpp b/shared/offline_compiler/source/offline_compiler.cpp
index 0ffc3bbca..aa02e0550 100644
--- a/shared/offline_compiler/source/offline_compiler.cpp
+++ b/shared/offline_compiler/source/offline_compiler.cpp
@@ -1050,7 +1050,7 @@ void OfflineCompiler::writeOutAllFiles() {
}
}
- if (irBinary && !inputFileSpirV) {
+ if (irBinary) {
std::string irOutputFileName = generateFilePathForIr(fileBase) + generateOptsSuffix();
argHelper->saveOutput(irOutputFileName, irBinary, irBinarySize);
diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt
index 59723fdb2..12dc4aa7a 100644
--- a/shared/source/built_ins/kernels/CMakeLists.txt
+++ b/shared/source/built_ins/kernels/CMakeLists.txt
@@ -58,8 +58,11 @@ function(compile_builtin gen_type platform_type builtin bits builtin_options mod
# get name of the file w/o extension
get_filename_component(BASENAME ${builtin} NAME_WE)
- set(OUTPUT_FILE_SPV
- ${OUTPUTDIR}/${mode}_${BASENAME}_${family_name_with_type}.spv
+ set(OUTPUTPATH_BASE "${OUTPUTDIR}/${mode}_${BASENAME}_${family_name_with_type}")
+ set(OUTPUT_FILES
+ ${OUTPUTPATH_BASE}.spv
+ ${OUTPUTPATH_BASE}.bin
+ ${OUTPUTPATH_BASE}.gen
)
if(NOT DEFINED cloc_cmd_prefix)
@@ -76,8 +79,8 @@ function(compile_builtin gen_type platform_type builtin bits builtin_options mod
list(APPEND __cloc__options__ "-cl-kernel-arg-info")
set(INTERNAL_OPTIONS "${${mode}_OPTIONS}")
add_custom_command(
- OUTPUT ${OUTPUT_FILE_SPV}
- COMMAND ${cloc_cmd_prefix} -q -file ${FILENAME} -spv_only -device ${DEFAULT_SUPPORTED_${gen_type}_${platform_type}_PLATFORM} ${builtin_options} -${bits} -output ${mode}_${BASENAME} -out_dir ${OUTPUTDIR} ${INTERNAL_OPTIONS} -options "$<JOIN:${__cloc__options__}, >"
+ OUTPUT ${OUTPUT_FILES}
+ COMMAND ${cloc_cmd_prefix} -q -file ${FILENAME} -device ${DEFAULT_SUPPORTED_${gen_type}_${platform_type}_PLATFORM} ${builtin_options} -${bits} -output ${mode}_${BASENAME} -out_dir ${OUTPUTDIR} ${INTERNAL_OPTIONS} -options "$<JOIN:${__cloc__options__}, >"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS ${builtin} ocloc copy_compiler_files
)
@@ -85,23 +88,12 @@ function(compile_builtin gen_type platform_type builtin bits builtin_options mod
set(OUTPUT_FILE_CPP
${OUTPUTDIR}/${mode}_${BASENAME}_${family_name_with_type}_${REVISION_ID}.cpp
)
- set(BINARY_OUTPUT "${OUTPUTDIR}/${mode}_${BASENAME}_${REVISION_ID}_${family_name_with_type}")
- set(OUTPUT_FILES_BINARIES
- ${BINARY_OUTPUT}.gen
- ${BINARY_OUTPUT}.bin
- )
list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
- add_custom_command(
- OUTPUT ${OUTPUT_FILES_BINARIES}
- COMMAND ${cloc_cmd_prefix} -q -file ${OUTPUT_FILE_SPV} -spirv_input -device ${DEFAULT_SUPPORTED_${gen_type}_${platform_type}_PLATFORM} ${builtin_options} -${bits} -output ${mode}_${BASENAME}_${REVISION_ID} -out_dir ${OUTPUTDIR} -revision_id ${REVISION_ID} ${INTERNAL_OPTIONS} -options "$<JOIN:${__cloc__options__}, >"
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS ${OUTPUT_FILE_SPV} ocloc copy_compiler_files
- )
add_custom_command(
OUTPUT ${OUTPUT_FILE_CPP}
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID}
+ COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${OUTPUTPATH_BASE}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool>
+ DEPENDS ${OUTPUTPATH_BASE}.gen $<TARGET_FILE:cpp_generate_tool>
)
endforeach()
set(BUILTINS_COMMANDS ${BUILTINS_COMMANDS} PARENT_SCOPE)
--
2.20.1
|