Skip to content
Stan Seibert edited this page Jun 28, 2018 · 1 revision

Numba Meeting: 2018-06-28

Attendees: Stan, Siu, Stuart, Ehsan, Todd

0. RC release status

  • RC1 built yesterday, announced this morning
  • RC2 to fix known issue with cuda.In? Do we even need the RC2 for just this?

1. New issues

  • #3066: array.dtype.type not working inside prange
  • #3065: Pickle SmartArray objects
  • #3064: SmartArray.__init__(shape, dtype, order) is broken
  • #3063: Exception in CUDA simulator before syncthreads deadlocks process exit.
  • #3061: Generator iterator fails from within NPM function if created outside the NPM function
    • Be able to create new RandomStates in nopython mode
    • Need to fix error message to make it clear that iterators can't pass from python to nopython mode
  • #3058: Array allocation for dt64
    • HPAT uses a lot of datetime64
    • Siu will take a look and comment on issue
  • #3057: "AssertionError: Failed at object (object mode frontend)" exception from simple code bug
    • another loop lifting + inlining fail
    • General category of problem caused by mutating IR nodes in compiler passes
    • May be a bigger issue as we add "with-lifting"
    • Should look into this during 0.40 dev cycle
  • #3053: [0.37.0/armel,armhf] tests broken
    • May be fixed in 0.40
  • #3052: [0.37.0/armel] LLVM Error during sphinx build
  • #3051: [0.37.0/mips,mipsel] Bus error during test
    • Never tried this
  • #3050: [0.37.0/ppc64el] segmentation fault during test
    • May be fixed in 0.40 / LLVM 6.0.x?
  • #3049: [0.37.0/s390x] Segmentation fault during test
    • Never tried this
  • #3047: Test failure on i7-3930K (win-64) (py27)
    • Should be fixed

2. Open PRs

New

  • 3062 Fix cuda.In freeing devary before the kernel launch
    • Merge
  • 3060 Adjust attribute error for NumPy functions.
    • Depends on 3059
  • 3059 Handler for known LoweringErrors.
    • Needs review, hold merge until 0.40dev

Old

  • 3046 Pairwise sum implementation.
    • needs fix
  • 3045 Fix #3027 - Numba reassigns sys.stdout
    • stuart will respond
  • 3038 Fix random integer generation to match results from NumPy.
    • Stuart will review
  • 3033 Add support for multidimensional CFFI arrays
    • Needs review
  • 3023 [WIP] ROCm Target testing... DO NOT MERGE! Support for AMDGCN/ROCm.
    • Siu will review
    • Plan to merge in 0.40dev
  • 3017 Add facility to support with-contexts
    • Needs some revision, another review pass
    • Ehsan will re-review once fixed
  • #2999 Support LowLevelCallable
    • Really wanted actual example to test
  • #2983 [WIP] invert mapping b/w binop operators and the operator module
    • Needs some review from Siu
  • #2977 Added docstring coding convention and specified line terminator to developer docs
  • #2976 [WIP] Expansion of developer documentation.
  • #2968 Adding xnd kernels
    • Ready to review
  • #2959 np.unique return_counts support
  • #2950 Fix dispatcher to only consider contiguous-ness.
    • Causing problems on ARM (but also affects everywhere)
    • Siu and Stuart need to chat
  • #2942 Fix linkage nature (declspec(dllexport)) of some test functions
    • Merge in next dev cycle
    • Open issue for related potential issues?
  • #2894: [WIP] Implement jitclass default constructor arguments.
    • Very close
  • #2817: [WIP] Emit LLVM optimization remarks
    • Low priority, still want this

Find issue for "template" jitclass, note that it would be useful for HPAT

===========================

3. Feature Discussion

  • 0.40 plans:
    • Target RC date: August 27?
    • Work through merging backlog of open PRs
    • First experimental version of with python_mode
    • Parfor (and other) diagnostics
    • Start fixing the gufunc threadpool?
    • Address "mutable IR problems"
    • Merge AMD ROCm GPU target
    • Merge ARM fixes
    • Other ideas?

Dictionaries!

  • Implementation of lists in Numba opened up a huge can of worms
    • Temporary lists that exist only in nopython mode are relatively straightforward
    • Python lists passed as arguments have to be walked to translate into nopython mode list, which is potentially slow
    • What to do about list mutations in nopython mode? Current Numba implementation goes through much effort to reflect these changes back to Python when function exits
    • Nested list of list implementation was unable to achieve reflection properly for arbitrarily nested lists
  • New approach for containers:
    • Python containers (list, set, dict in future) passed into nopython mode will be automatically translated to nopython mode data structures, but will be immutable (compiler enforced)
    • Locally created list/set/dict containers will be mutable
    • Create Python-wrapped nopython mode containers ("Numba list", "Numba dict") that can be passed as arguments, have constant-time unboxing, and can be mutated in the function.
    • Deprecate (with warning) support for mutating Python lists and sets passed into Numba

4. Next Release: Version 0.39, RC=June 28, 2018, Final=July 5, 2018

  • Python 3.7 support
  • Reference-counted items (arrays lists) in lists
  • Work toward python mode blocks in nopython mode
  • HTML annotation improvements
Clone this wiki locally