You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2020/05/24 14:36:00 UTC

[jira] [Resolved] (ARROW-8792) [C++] Improved declarative compute function / kernel development framework, normalize calling conventions

     [ https://issues.apache.org/jira/browse/ARROW-8792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wes McKinney resolved ARROW-8792.
---------------------------------
    Resolution: Fixed

Issue resolved by pull request 7240
[https://github.com/apache/arrow/pull/7240]

> [C++] Improved declarative compute function / kernel development framework, normalize calling conventions
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: ARROW-8792
>                 URL: https://issues.apache.org/jira/browse/ARROW-8792
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Wes McKinney
>            Assignee: Wes McKinney
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.0.0
>
>          Time Spent: 16h 40m
>  Remaining Estimate: 0h
>
> I'm working on a significant revamp of the way that kernels are implemented in the project as discussed on the mailing list. PR to follow within the next week or sooner
> A brief list of features:
> * Kernel selection that takes into account the shape of inputs (whether Scalar or Array, so you can provide an implementation just for Arrays and a separate one just for Scalars if you want)
> * More customizable / less monolithic type-to-kernel dispatch
> * Standardized C++ function signature for kernel implementations (rather than every one being a little bit special)
> * Multiple implementations of the same function can coexist (e.g. with / without SIMD optimizations) so that you can choose the one you want at runtime
> * Browsable function registry (see all available kernels and their input type signatures)
> * Central code path for type-checking and argument validation
> * Central code path for kernel execution on ChunkedArray inputs
> There's a lot of JIRAs in the backlog that will follow from this work so I will attach those to this issue for visibility but this issue will cover the initial refactoring work to port the existing code to the new framework without altering existing features.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)