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

Yibo Cai updated ARROW-8227:
----------------------------
    Description: 
Arrow supports wide range of hardware(x86,arm,ppc?) + 
os(linux,windows,macos,others?) + compiler(gcc,clang,msvc,others?). Managing 
platform dependent code is non-trivial. This Jira aims to refine(or mess up) 
defining SIMD feature macros.
Simd feature definitions are scattered in source codes now. Better to define 
them into one place for easy management, possibly in cmake.

  was:
Arrow supports wide range of hardware(x86,arm,ppc?) + 
os(linux,windows,macos,others?) + compiler(gcc,clang,msvc,others?). Managing 
platform dependent code is non-trivial. This Jira aims to refine(or mess up) 
simd related code framework.
Some goals: Move simd feature definition into one place, possibly in cmake, and 
reduce compiler based ifdef is source code. Manage simd code in one place, but 
leave non-simd default implementations where they are. Shouldn't introduce any 
performance penalty, prefer direct inline to runtime dispatcher. Code should be 
easy to maintain, expand, and hard to make mistakes.


> [C++] Propose refining SIMD code framework
> ------------------------------------------
>
>                 Key: ARROW-8227
>                 URL: https://issues.apache.org/jira/browse/ARROW-8227
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Yibo Cai
>            Assignee: Yibo Cai
>            Priority: Major
>
> Arrow supports wide range of hardware(x86,arm,ppc?) + 
> os(linux,windows,macos,others?) + compiler(gcc,clang,msvc,others?). Managing 
> platform dependent code is non-trivial. This Jira aims to refine(or mess up) 
> defining SIMD feature macros.
> Simd feature definitions are scattered in source codes now. Better to define 
> them into one place for easy management, possibly in cmake.



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

Reply via email to