1. 24 Apr, 2019 1 commit
    • Martin Bauer's avatar
      Improvements for GPU code generation · f504b40f
      Martin Bauer authored
      - turned on restrict keyword by default (makes large difference on GPUs)
      - smarter block indexing: changing block size depending on domain size
        Example: previously there where (1,1,1) blocks when requested
        block size was (64, 1, 1) and domain size (1, 512, 512), now the
        block size is changed automatically to (1, 64, 1) in this case
      - added __lauch_bounds__ to kernels to allow better optimizations from
        the CUDA compiler
      f504b40f
  2. 21 Mar, 2019 1 commit
    • Martin Bauer's avatar
      Separated modules into subfolders with own setup.py · 1e02cdc7
      Martin Bauer authored
      This restructuring allows for easier separation of modules into
      separate repositories later. Also, now pip install with repo url can be
      used.
      
      The setup.py files have also been updated to correctly reference each
      other. Module versions are not extracted from git state
      1e02cdc7
  3. 14 Nov, 2018 2 commits
    • Martin Bauer's avatar
      Removed 'symbol_name_to_variable_name' · b72ef215
      Martin Bauer authored
      - was not used consistently before
      - symbol names are expected to be valid C identifiers
      - for complicated field names, the latex_name of field should be used
      b72ef215
    • Martin Bauer's avatar
      Pass field information (shape,stride) as single elements instead of arr · 7a94740d
      Martin Bauer authored
      - small (length < 5) arrays with shape and stride information had to be
        memcpy'd to the GPU before every kernel call
      - instead of passing the information as arrays, the single elements are
        passed
      - leads to more function arguments, but simplifies GPU kernel calls
      
      -> changes in all backends required
      7a94740d