Skip to content
Stan Seibert edited this page May 31, 2018 · 1 revision

Numba Meeting: 2018-05-31

Attendees: Stuart, Ehsan, Todd, Siu, Stan

1. New issues

  • #3006: Detect whether LLVM has SVML enabled and override SVML setting if not present
    • Stuart working on this now
  • #3005: 'str' object has no attribute 'name'
    • Side effect of not supporting two *args arguments
  • #3003: Reduce CUDA launch overhead
    • Just FYI
  • #3001: Reduce traceback size in user-facing errors
    • Already have a PR to address this
  • #2998: Wrong results when calculating power with an array
    • Root cause determined, see #3006
  • #2997: Private variables with prange
    • Should be hoisting allocation out
    • But not happening because the np.empty is not marked as a pure function
    • PR open to address this
    • Should the "pure" and "no side effect" lists be shared?
  • #2996: Consider adding polly to LLVM builds
    • Inspired by user wanting loop nesting to automatically be reordered for optimal performance
    • Needs investigation
    • Are there good use cases?
  • #2995: Support passing in LowLevelCallable as argument to jitted function
    • Already has PR in progress
    • No PyCapsule support
  • #2994: Support for PEP 3102 Keyword-only arguments in nopython-mode in nested functions
    • Needs investigating. Maybe not a huge change required to support this
  • #2993: Invalid use of make_function needs catching before lowering feature_request
    • Usually caused by unsupported Python constructs
    • Need to emit more friendly error message before lowering
  • #2992: NotImplementedError/ LoweringError for any map(lambda ... )
    • map not supported
    • not hard to do in principle with ParallelAccelerate
    • Returning a generator in nopython mode is a challenge
  • #2991: numba.vectorize does not preserve function attributes
    • "Easy" to fix some attributes, like name
    • Do we wait for vectorize replacement to fix?
  • #2988: Support For CPU Atomics
    • Maybe follow CUDA API at first?
    • Are there more efficient ways to do this on Intel?
  • #2987: cuda.mapped_array slices don't have a gpu_data attribute
    • Siu will take a look
  • #2982: How best to parallelize numba.stencil operations
    • Could improve docs to make it clear when parallelism is helpful
    • Can we simplify the API for calling parallel stencil from interpreter
  • #2981: Numba.stencil lacks a docstring
    • Easy
  • #2980: PR breaking code cleanup
    • Are there smaller changes that can be done?
  • #2979: Support duck arrays in numba gufuncs
    • Straightforward to do, assuming there are not some gotchas
    • Needs some investigation about immutable vs non-immutable NumPy views
  • #2978: Support numpy.cross feature_request
    • Stuart wants to do this
  • #2975: Planning for end of NVVM text IR support
    • Know what to do, reminder for now
  • #2974: Autogenerate sphinx autodoc docs on Master
    • This might not work very well with Python and our code base
  • #2973: Issue in unpacking a list of mixed type tuples
    • Need to explain typing heuristic for passing lists into functions

2. Open PRs

New

  • #3004
    Add numpy.empty to the list of pure functions.
    • Will merge
  • #3002 Second pass at error rewrites (interpreter errors).
  • #3000 TESTING Enh/refactorenv
  • #2999 Support LowLevelCallable
  • #2990 Improve function call matching for intrinsics
  • #2986 Fix environment propagation
  • #2984 Support for namedtuples in array analysis
    • Merged this morning
  • #2983 [WIP] invert mapping b/w binop operators and the operator module
  • #2977 Added docstring coding convention and specified line terminator to developer docs
  • #2976 [WIP] Expansion of developer documentation.

Old

  • #2968 WIP: Adding xnd kernels
    • Siu giving author feedback on approach
    • This might work for ragged arrays now??
  • #2959 np.unique return_counts support
    • Doesn't work as is
    • Provided feedback on how to fix
  • #2957 Add new 3.7 opcode support.
    • Being tested using beta 3.7 packages
    • Stuart will add object mode test that produces these opcodes
  • #2953 percentile and nanpercentile
    • reviewed, waiting on author fixes
  • #2950 Fix dispatcher to only consider contiguous-ness.
    • Stuart to talk to Siu about read-only array case
  • #2942 Fix linkage nature (declspec(dllexport)) of some test functions
    • Should maybe generalize this to cover other places
  • #2929 Add Flag To Prevent Unneccessary D->H Copies
    • Need to implement decorator to show user how to solve their problem without putting a global default copy strategy into code
  • #2910: [WIP] More CUDA intrinsics
    • Check if it works on GPU
    • Make sure it goes thru the buildfarm before merging
    • Blocked on how to simulate in CUDA simulator. See recent njwhite patches?
  • #2905: Fix for #2862
    • need to replicate old incorrect behavior in NumPy <= 1.11
  • #2894: [WIP] Implement jitclass default constructor arguments.
    • Need to give some feedback to contributor on approach
  • #2869: WIP: use pairwise summation in sum
    • Producing wrong results in some cases
    • Open new PR with Stuart's non-recursive implementation
  • #2840: Support list of refcounted types
    • Problems found in review that need to be fixed
    • Siu will take a look
  • #2817: [WIP] Emit LLVM optimization remarks
    • Want to refactor to not require temp file on disk
  • #2793: Simplify and remove javascript from html_annotate templates.
    • Need to push some refactoring onto the PR
    • Interest from scikit-image developers

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

3. Feature Discussion

  • Patch release plan for Numba/llvmlite to disable SVML when not supported by LLVM linked against llvmlite

4. Next Release: Version 0.39, RC=June 18, 2018, Final=June 25, 2018

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