From 0b2bcad8a2aec7483e850228283c6801179e5e48 Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Sat, 2 Dec 2017 21:51:48 +0100 Subject: [PATCH] Bugfixes - float kernel generation should work now --- creationfunctions.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/creationfunctions.py b/creationfunctions.py index 9aa02e26..280d39d4 100644 --- a/creationfunctions.py +++ b/creationfunctions.py @@ -313,7 +313,7 @@ def createLatticeBoltzmannAst(updateRule=None, optimizationParams={}, **kwargs): else: splitGroups = () res = createKernel(updateRule.allEquations, splitGroups=splitGroups, - typeForSymbol='double' if optParams['doublePrecision'] else 'float', + typeForSymbol='double' if optParams['doublePrecision'] else 'float32', ghostLayers=1) elif optParams['target'] == 'gpu': from pystencils.gpucuda import createCUDAKernel @@ -385,13 +385,14 @@ def createLatticeBoltzmannUpdateRule(lbMethod=None, optimizationParams={}, **kwa else: collisionRule = addEntropyCondition(collisionRule, omegaOutputField=params['omegaOutputField']) + fieldDtype = 'float64' if optimizationParams['doublePrecision'] else 'float32' if optParams['fieldSize']: fieldSize = [s + 2 for s in optParams['fieldSize']] + [len(stencil)] srcField = Field.createFixedSize(params['fieldName'], fieldSize, indexDimensions=1, - layout=optParams['fieldLayout']) + layout=optParams['fieldLayout'], dtype=fieldDtype) else: srcField = Field.createGeneric(params['fieldName'], spatialDimensions=lbMethod.dim, indexDimensions=1, - layout=optParams['fieldLayout']) + layout=optParams['fieldLayout'], dtype=fieldDtype) dstField = srcField.newFieldWithDifferentName(params['secondFieldName']) -- GitLab