1. 19 Apr, 2019 1 commit
  2. 18 Apr, 2019 3 commits
  3. 16 Apr, 2019 4 commits
  4. 09 Apr, 2019 1 commit
    • Hans-Nikolai Viessmann's avatar
      Fix incorrect traversal doflag check · 54490710
      Hans-Nikolai Viessmann authored
      Completely forgot that EMRL is one by default, therefore whenever we
      entered IWLMEM, we entered EMRTU, which in some very rare cases did
      cause problems. We now check that the EMRCI and EMRTU flag is on as well!
  5. 08 Apr, 2019 1 commit
    • Hans-Nikolai Viessmann's avatar
      refactoring of EMRTU and IWLMEM · e0ecc1fc
      Hans-Nikolai Viessmann authored
      Have moved out a function used in both traversals to the cuda_utils
      Also, I've removed the ISEMRLIFTED flag from EMRL/EMRTU, as it was
      preventing certain cases from being identified (such as cond functions).
  6. 04 Apr, 2019 3 commits
    • Hans-Nikolai Viessmann's avatar
    • Hans-Nikolai Viessmann's avatar
      add EMRTU optimistation · 0db3f254
      Hans-Nikolai Viessmann authored
      This optimisation works together with the CUDA IWLMEM optimisation to introduce
      CUDA memory transfers into the AST. We need this traversal when using the EMR
      optimisation as IWLMEM would otherwise lead to inoptimal code generation.
      IWLMEM, when encountering a lift ERC, would within the loop function create a
      host2device and cause a memory allocation and free on the CUDA device. The
      EMRTU (EMR Type Update) traversal identifies such cases, and correclty
      transforms the lifted ERCs into CUDA device_types *and* fixes the arguments of
      the loop function applications (initial and recursi
    • Hans-Nikolai Viessmann's avatar
      EMRL mark fundef has allocation lifts · c27c2728
      Hans-Nikolai Viessmann authored
      We will use this later for EMRTU (relating to CUDA IWLMEM
  7. 03 Apr, 2019 1 commit
  8. 02 Apr, 2019 1 commit
    • Hans-Nikolai Viessmann's avatar
      remove stale CUDA module · 9af256c3
      Hans-Nikolai Viessmann authored
      The insert_memory_transfers module was split into several different
      files (insert_withloop_memtran.c & insert_cudast_memtran.c) by Jing
      starting from the 26-03-2010, and this was left in the git history.
      This module is not used anywhere, and as far as I can tell, provides
      nothing in addition to the other modules. As such its safe to remove the
      Additionally, I've identified the following libsac2c modules which are
      also stale:
      One needs to take a closer look at this and see if they are still
  9. 28 Mar, 2019 2 commits
  10. 27 Mar, 2019 2 commits
  11. 21 Jan, 2019 1 commit
  12. 20 Jan, 2019 1 commit
  13. 11 Jan, 2019 1 commit
  14. 10 Jan, 2019 4 commits
  15. 09 Jan, 2019 1 commit
  16. 02 Jan, 2019 1 commit
    • Hans-Nikolai Viessmann's avatar
      [emr] use pre/post traversal function injection · 967ef275
      Hans-Nikolai Viessmann authored
      We no longer print RC/ERC via print.c, but use the pre/post traversal
      function injection fascility to _nicely_ associate this with the
      relevent traversals (i.e. wrci and emrci). Additionally we update
      documentation and include some more tests (and improve some existing
      ones as well).
  17. 31 Dec, 2018 12 commits