1. 18 Jan, 2020 2 commits
    • [runtime][refactor] Unify vm and interpreter objects (#4693) · acbf8851
      * unify vm and interpreter objects
      
      * move closure back vm
      
      * adt/closure back to vm.adt/vm.closure
      
      * closure base
      Zhi committed
    • [CodeGen][CUDA] Improve CUDA vectorizer (#4736) · 2630ffcb
      - Fixes issues to enable fp16 vectorizer. Now correct packing and
        unpacking CUDA code will be emitted. Enabled more unit tests.
      
      - Do not emit code to read the first lane from an undef variable
      
        int _3;
        _3 = _3 & ~(0x000000ff << 0) | ...
      
        and emit the following code instead:
      
        _3 = (((0x000000ff & (_1 >> 0))+(0x000000ff & (_2 >> 0))) << 0);
      
        Note that nvcc 10.2 is forgiving and emits the same code for both cases.
        A warning appears in test_codegen_cuda.py.
      
      Signed-off-by: Wei Pan <weip@nvidia.com>
      wpan11nv committed
  2. 17 Jan, 2020 9 commits
  3. 16 Jan, 2020 13 commits
  4. 15 Jan, 2020 8 commits
  5. 14 Jan, 2020 7 commits
  6. 12 Jan, 2020 1 commit
    • GitHub Action lint Python code for syntax errors (#4688) · bd17baa2
      * GitHub Action lint Python code for syntax errors
      
      https://flake8.pycqa.org/en/latest/user/error-codes.html
      
      On the flake8 test selection, this PR does _not_ focus on "_style violations_" (the majority of flake8 error codes that [__psf/black__](https://github.com/psf/black) can autocorrect).  Instead these tests are focus on runtime safety and correctness:
      * E9 tests are about Python syntax errors usually raised because flake8 can not build an Abstract Syntax Tree (AST).  Often these issues are a sign of unused code or code that has not been ported to Python 3.  These would be compile-time errors in a compiled language but in a dynamic language like Python they result in the script halting/crashing on the user.
      * F63 tests are usually about the confusion between identity and equality in Python.  Use ==/!= to compare str, bytes, and int literals is the classic case.  These are areas where __a == b__ is True but __a is b__ is False (or vice versa).  Python >= 3.8 will raise SyntaxWarnings on these instances.
      * F7 tests logic errors and syntax errors in type hints
      * F82 tests are almost always _undefined names_ which are usually a sign of a typo, missing imports, or code that has not been ported to Python 3.  These also would be compile-time errors in a compiled language but in Python a __NameError__ is raised which will halt/crash the script on the user.
      
      * Force a retest
      
      * Rename start_rpc_server_to_tracker.py to start_rpc_server_to_tracker.sh
      
      This is a bash file, not a Python file.
      Christian Clauss committed