[GPU] Added cl batched headers post-processing (#10093)

This commit is contained in:
Vladimir Paramuzov
2022-02-11 13:26:22 +03:00
committed by GitHub
parent d758a21d6e
commit 013b5f5b5f

View File

@@ -205,19 +205,9 @@ class OpenCL2CHeaders(object):
res += '{}\n'.format(line.rstrip())
characters += len(line) + 1
res += ')",\n\n'
return res
def cl_file_to_str(self, filename):
name = ntpath.basename(filename)
self.include_files[filename] = {}
kernel_name = name[:name.find('.cl')]
res = '{{"{}",\n(std::string) R"__krnl(\n'.format(kernel_name)
content = self.append_file_content(filename, filename)
content += self.append_undefs(filename)
max_lines = 200
max_characters = 16350
characters = 1 # Newline character above
return self.post_process_sources(res)
def post_process_sources(self, content):
comment_regexp = re.compile(r'(^)?[^\S\n]*/(?:\*(.*?)\*/[^\S\n]*|/[^\n]*)($)?', re.DOTALL | re.MULTILINE)
def comment_replacer(match):
@@ -238,7 +228,24 @@ class OpenCL2CHeaders(object):
# Remove empty lines
content = os.linesep.join([s for s in content.splitlines() if s])
# Remove multiple spaces
content = content.replace("\\\n", "")
content = re.sub(' +', ' ', content)
return content
def cl_file_to_str(self, filename):
name = ntpath.basename(filename)
self.include_files[filename] = {}
kernel_name = name[:name.find('.cl')]
res = '{{"{}",\n(std::string) R"__krnl(\n'.format(kernel_name)
content = self.append_file_content(filename, filename)
content += self.append_undefs(filename)
max_lines = 200
max_characters = 16350
characters = 1 # Newline character above
content = self.post_process_sources(content)
for i, line in enumerate(content.split('\n')):
if (i + 1) % max_lines == 0 or characters + len(line) + 1 > max_characters:
res += ')__krnl"\n + R"__krnl('