devito icon indicating copy to clipboard operation
devito copied to clipboard

compiler: Fix complex arguments and implement float16 lowering

Open enwask opened this issue 1 year ago • 3 comments

Fixes some issues that prevented complex float arguments from being passed correctly. Also implements lowering for half-precision floats with the _Float16 type.

Some remaining tasks:

  • MPI with complex floating types
  • Look into MPI with float16, if possible
  • Type conversion is done by modifying the global ctypes_vector_mappet; need some more tests for operator building/rebuilding/pickling with float16, or potentially a different (hopefully less brittle) solution
  • More test coverage of existing behavior applied to float16 types

enwask avatar Jul 11 '24 13:07 enwask

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

but still needs tests

seconded, this is crucial

FabioLuporini avatar Jul 29 '24 10:07 FabioLuporini

Yeah my plan was to write some more extensive tests for complex (since the existing ones didn't catch all of the break cases I've found) and add in a few for half. I want to get all of these changes out of the way first, and then there's a few more things to work out such as math functions being assigned to float16 arrays. Maybe this should be a draft actually?

enwask avatar Jul 29 '24 10:07 enwask

Merged into #2375

mloubout avatar Jan 17 '25 15:01 mloubout