summaryrefslogtreecommitdiff
path: root/scripts/generator
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-03-05 15:06:14 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-03-05 15:06:14 +0100
commitb114ea49a9228ee7a8bf1b00c092324c0ce972c3 (patch)
tree5aa34777226bdb11c6349c9ce43de160478d9b41 /scripts/generator
parentcdf354f89524ed88d4f9358004e5a8eabd9ce286 (diff)
Added first naive version of the batched AXPY routine
Diffstat (limited to 'scripts/generator')
-rwxr-xr-xscripts/generator/generator.py2
-rw-r--r--scripts/generator/generator/routine.py15
2 files changed, 9 insertions, 8 deletions
diff --git a/scripts/generator/generator.py b/scripts/generator/generator.py
index 521afe28..8dd5fc0c 100755
--- a/scripts/generator/generator.py
+++ b/scripts/generator/generator.py
@@ -41,7 +41,7 @@ FILES = [
"/include/clblast_netlib_c.h",
"/src/clblast_netlib_c.cpp",
]
-HEADER_LINES = [121, 76, 125, 23, 29, 41, 65, 32]
+HEADER_LINES = [122, 76, 126, 23, 29, 41, 65, 32]
FOOTER_LINES = [25, 138, 27, 38, 6, 6, 9, 2]
HEADER_LINES_DOC = 0
FOOTER_LINES_DOC = 63
diff --git a/scripts/generator/generator/routine.py b/scripts/generator/generator/routine.py
index 9b07e671..8807fd8e 100644
--- a/scripts/generator/generator/routine.py
+++ b/scripts/generator/generator/routine.py
@@ -223,7 +223,7 @@ class Routine:
"""Retrieves a variable name for a specific input/output vector/matrix (e.g. 'x')"""
if name in self.inputs or name in self.outputs:
a = [name + "_buffer" + self.b_s()]
- b = [name + "_offset"]
+ b = [name + "_offset"] if not self.batched else []
c = [name + "_" + self.postfix(name)] if (name not in self.buffers_without_ld_inc()) else []
return [", ".join(a + b + c)]
return []
@@ -251,7 +251,7 @@ class Routine:
prefix = "const " if name in self.inputs else ""
if name in self.inputs or name in self.outputs:
a = [prefix + "cl_mem " + self.b_star() + name + "_buffer" + self.b_s()]
- b = ["const size_t " + name + "_offset"]
+ b = ["const size_t " + name + "_offset"] if not self.batched else []
c = ["const size_t " + name + "_" + self.postfix(name)] if name not in self.buffers_without_ld_inc() else []
return [", ".join(a + b + c)]
return []
@@ -295,7 +295,7 @@ class Routine:
a = [name + "_buffers_cpp"]
else:
a = ["Buffer<" + buffer_type + ">(" + name + "_buffer)"]
- b = [name + "_offset"]
+ b = [name + "_offset"] if not self.batched else []
c = [name + "_" + self.postfix(name)] if (name not in self.buffers_without_ld_inc()) else []
return [", ".join(a + b + c)]
return []
@@ -337,7 +337,7 @@ class Routine:
prefix = "const " if (name in self.inputs) else ""
if (name in self.inputs) or (name in self.outputs):
a = [prefix + "cl_mem" + self.b_star()]
- b = ["const size_t"]
+ b = ["const size_t"] if not self.batched else []
c = ["const size_t"] if (name not in self.buffers_without_ld_inc()) else []
return [", ".join(a + b + c)]
return []
@@ -350,12 +350,13 @@ class Routine:
math_name = name.upper() + " matrix" + self.b_s() if (name in self.buffers_matrix()) else name + " vector" + self.b_s()
inc_ld_description = "Leading dimension " if (name in self.buffers_matrix()) else "Stride/increment "
a = ["`" + prefix + "cl_mem " + self.b_star() + name + "_buffer" + self.b_s() + "`: OpenCL buffer" + self.b_s() + " to store the " + inout + " " + math_name + "."]
- b = ["`const size_t " + name + "_offset`: The offset in elements from the start of the " + inout + " " + math_name + "."]
+ b = []
+ if not self.batched:
+ b = ["`const size_t " + name + "_offset`: The offset in elements from the start of the " + inout + " " + math_name + "."]
+ c = []
if name not in self.buffers_without_ld_inc():
c = ["`const size_t " + name + "_" + self.postfix(name) + "`: " +
inc_ld_description + "of the " + inout + " " + math_name + ". This value must be greater than 0."]
- else:
- c = []
return a + b + c
return []