Skip to content
Snippets Groups Projects
Commit bb1acd62 authored by Martin Bauer's avatar Martin Bauer
Browse files

Improvements in vectorization to work also with split kernels

- activated vectorization for LBM kernels
parent 5757a68a
No related branches found
No related tags found
No related merge requests found
......@@ -204,6 +204,8 @@ def updateWithDefaultParameters(params, optParams, failOnUnknownParameter=True):
'gpuIndexing': 'block',
'gpuIndexingParams': {},
'vectorization': None,
'builtinPeriodicity': (False, False, False),
}
if 'relaxationRate' in params:
......@@ -258,6 +260,13 @@ def createLatticeBoltzmannFunction(ast=None, optimizationParams={}, **kwargs):
ast = createLatticeBoltzmannAst(**params)
if optParams['target'] == 'cpu':
if optParams['vectorization']:
import pystencils.backends.simd_instruction_sets as vec
from pystencils.vectorization import vectorize
vecParams = optParams['vectorization']
vec.selectedInstructionSet = vec.x86VectorInstructionSet(instructionSet=vecParams[0], dataType=vecParams[1])
vectorize(ast)
from pystencils.cpu import makePythonFunction as makePythonCpuFunction, addOpenMP
addOpenMP(ast, numThreads=optParams['openMP'])
res = makePythonCpuFunction(ast)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment