Skip to content
Snippets Groups Projects

WIP: Cuda autotune

Closed Stephan Seitz requested to merge seitz/pystencils:cuda-autotune into master
Viewing commit 04ca021b
Show latest version
2 files
+ 52
66
Preferences
Compare changes
Files
2
@@ -78,7 +78,6 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
@@ -78,7 +78,6 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
except KeyError:
except KeyError:
full_arguments = argument_dict.copy()
full_arguments = argument_dict.copy()
full_arguments.update(kwargs)
full_arguments.update(kwargs)
example_strides = [v.strides for v in kwargs.values() if isinstance(v, pycuda.gpuarray.GPUArray)][0]
shape = _check_arguments(parameters, full_arguments)
shape = _check_arguments(parameters, full_arguments)
# TODO: use texture objects:
# TODO: use texture objects:
@@ -97,10 +96,9 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
@@ -97,10 +96,9 @@ def make_python_function(kernel_function_node, argument_dict=None, custom_backen
tuple((k, v.strides, v.shape)
tuple((k, v.strides, v.shape)
for k, v in kwargs.items()
for k, v in kwargs.items()
if (isinstance(v, pycuda.gpuarray.GPUArray)))
if (isinstance(v, pycuda.gpuarray.GPUArray)))
+ (str(pystencils.show_code(kernel_function_node)),),
+ (str(pystencils.show_code(kernel_function_node)),)))
example_strides))
else:
else:
block_and_thread_numbers = indexing.call_parameters(shape, example_strides)
block_and_thread_numbers = indexing.call_parameters(shape)
block_and_thread_numbers['block'] = tuple(int(i) for i in block_and_thread_numbers['block'])
block_and_thread_numbers['block'] = tuple(int(i) for i in block_and_thread_numbers['block'])
block_and_thread_numbers['grid'] = tuple(int(i) for i in block_and_thread_numbers['grid'])
block_and_thread_numbers['grid'] = tuple(int(i) for i in block_and_thread_numbers['grid'])