pystencils merge requestshttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests2021-11-29T19:31:11+01:00https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/190Make sure that the RNG counter can be substituted during loop cutting2021-11-29T19:31:11+01:00Michael Kuronmkuron@icp.uni-stuttgart.deMake sure that the RNG counter can be substituted during loop cuttingMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/280Fixed test for sliced iteration with buffer to use dynamic field sizes2021-11-28T16:19:50+01:00Frederik HennigFixed test for sliced iteration with buffer to use dynamic field sizesOtherwise the test did not fail as it should when float-division is used in indexing.Otherwise the test did not fail as it should when float-division is used in indexing.https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/277create_staggered_kernel: ignore inapplicable CreateKernelConfig defaults2021-11-25T12:39:39+01:00Michael Kuronmkuron@icp.uni-stuttgart.decreate_staggered_kernel: ignore inapplicable CreateKernelConfig defaultsI think this was a regression introduced in !261.I think this was a regression introduced in !261.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/279Removed kerncraft2021-11-25T12:34:57+01:00Markus HolzerRemoved kerncraftKerncraft was not validated in pystencils and is at the moment not further maintained. Thus we remove it for now from pystencils.
Fixes #44Kerncraft was not validated in pystencils and is at the moment not further maintained. Thus we remove it for now from pystencils.
Fixes #44Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/278Removed OpenCL2021-11-22T21:22:54+01:00Markus HolzerRemoved OpenCLThis MR removes OpenCL from pystencilsThis MR removes OpenCL from pystencilsMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/276Remove LLVM2021-11-22T15:29:45+01:00Markus HolzerRemove LLVMThis MR removes the LLVM backend from pystencilsThis MR removes the LLVM backend from pystencilsMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/261`create_kernel` API Update2021-11-21T21:58:15+01:00Jan Hönig`create_kernel` API UpdateTo reduce the `kwargs` hell, we introduced dataclasses, which handle the settings of `create_kernel` and similar functions.
In addition we introduced type-hints for the API functions to increase usability and simplify development.To reduce the `kwargs` hell, we introduced dataclasses, which handle the settings of `create_kernel` and similar functions.
In addition we introduced type-hints for the API functions to increase usability and simplify development.Jan HönigJan Hönighttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/268Introduce default assignment simplifications2021-11-19T13:35:42+01:00Markus HolzerIntroduce default assignment simplificationsThere are many simplifications in pystencils that are usually not applied. They can be applied now by using a simple argument in the configuration.
Fixes #39There are many simplifications in pystencils that are usually not applied. They can be applied now by using a simple argument in the configuration.
Fixes #39Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/273Remove interpolator2021-11-17T15:51:55+01:00Markus HolzerRemove interpolatorThe interpolator functionality of pystencils is not used for a long time and it is rather messy.
It will be removed with this MR.The interpolator functionality of pystencils is not used for a long time and it is rather messy.
It will be removed with this MR.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/274Fixed integer square root2021-11-17T15:50:41+01:00Markus HolzerFixed integer square rootInteger square roots must be detected as float32 if the simulation is setup for SP.Integer square roots must be detected as float32 if the simulation is setup for SP.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/272Testing2021-11-11T08:09:08+01:00Markus HolzerTestingFixes race condition in the cpu jit. Clean parallel datahandling test cases and tutorial notebook.Fixes race condition in the cpu jit. Clean parallel datahandling test cases and tutorial notebook.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/266Vectorisation bug2021-11-09T11:21:00+01:00Markus HolzerVectorisation bugFixes #41Fixes #41Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/271Kernel decorator fix2021-11-05T11:06:46+01:00Jan HönigKernel decorator fixI have introduced a change to the kernel decorator, which was completely wrong. Now I reintroduced the kernel decorator and introduced a `kernel_config` decorator, which receives a `CreateKernelConfig`, which is also returned together wi...I have introduced a change to the kernel decorator, which was completely wrong. Now I reintroduced the kernel decorator and introduced a `kernel_config` decorator, which receives a `CreateKernelConfig`, which is also returned together with the list of assignments as a dict. The dict has to be unrolled for `create_kernel`. The `kernel_config` decorator updates the name of the function inside the config.Jan HönigJan Hönighttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/269Fix printing2021-11-05T10:39:09+01:00Markus HolzerFix printingThe latex printer of the field class is a bit off at the moment. This MR should fix itThe latex printer of the field class is a bit off at the moment. This MR should fix itMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/267Small clean up2021-11-02T21:51:26+01:00Markus HolzerSmall clean upsmall clean upsmall clean upMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/264Clean up and Bug Fixes2021-10-26T09:55:30+02:00Markus HolzerClean up and Bug FixesFixes #38
Further changes:
- Third party warnings are suppressed now as they just polluted the warning summary in pystencils.
- Removing the math optimisations as they are not used in pystencils. An Issue is created to reintroduce them...Fixes #38
Further changes:
- Third party warnings are suppressed now as they just polluted the warning summary in pystencils.
- Removing the math optimisations as they are not used in pystencils. An Issue is created to reintroduce them again in a clean way in the future
- Removing the joblib workaround as joblib is a hard dependency of pystencils
- Fixing SymPy 1.9 as maximum version
- Removing sympy.multiply_elementwise due to https://github.com/sympy/sympy/issues/22353. A workaround with NumPy is introduced which seems to be way more robust because NumPy has a more static API
- Introducing more extra requires, which are needed to have all features of pystencils
- Minor cleanup of some test cases and the datahandlingMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/263Fixed wrong type hints. Updated setup.py2021-09-16T22:47:01+02:00Jan HönigFixed wrong type hints. Updated setup.pyAdded authors and changed the package's email to a more general solution.Added authors and changed the package's email to a more general solution.Jan HönigJan Hönighttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/262fixed create_kernel parameter data_type="float" to procucde single precision2021-09-14T18:35:29+02:00Christoph Altfixed create_kernel parameter data_type="float" to procucde single precisionCurrently if create_kernel(assignments, data_type="float") is used then the untyped symbols are typed with float64, since the np.dtype("float") creates this during the construction of a new TypedSymbol.
Since data_type or as it is calle...Currently if create_kernel(assignments, data_type="float") is used then the untyped symbols are typed with float64, since the np.dtype("float") creates this during the construction of a new TypedSymbol.
Since data_type or as it is called in cpu.create_kernel type_info can be an string of an C type, At least following the [documentation of cpu.create_kernel](https://i10git.cs.fau.de/pycodegen/pystencils/-/blob/master/pystencils/cpu/kernelcreation.py#L31) this behavior is a bit confusing, since typical the C type specifier "float" is meant to be single precision.
So I added a small function that just replaces "float" with "single" in the symbol_to_type dict, so the untyped symbols get the single precision type.Christoph AltChristoph Althttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/259Increasing the minimal Python version2021-09-10T11:50:35+02:00Jan HönigIncreasing the minimal Python versionIncreasing the minimal Python version to 3.8 to enable features from 3.7 and 3.8. Also, the official support for 3.6 will cease this December.
Closes #21Increasing the minimal Python version to 3.8 to enable features from 3.7 and 3.8. Also, the official support for 3.6 will cease this December.
Closes #21Jan HönigJan Hönighttps://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/55Remove DestructuringBindingsForFieldClass2021-08-19T20:23:23+02:00Stephan SeitzRemove DestructuringBindingsForFieldClassThere is now a superior implementation in pystencils_autodiff.
This is actually a AST Node for wrapper code. pystencils_autodiff has
now a AST printer for framework integration code. So framework AST nodes
are now there and kernel AST n...There is now a superior implementation in pystencils_autodiff.
This is actually a AST Node for wrapper code. pystencils_autodiff has
now a AST printer for framework integration code. So framework AST nodes
are now there and kernel AST nodes remain here.