Skip to content

The ArrayFire Mission Statement

John Melonakos edited this page Jan 26, 2023 · 17 revisions

The ArrayFire mission is to develop open-source software for advancing science and technology through the fastest and most productive library for tensor computing. We welcome interested developers worldwide to participate in the ArrayFire community and its leadership roles. Together we aim to foster an excellent technical computing experience for users and developers.

The library's goal is to provide a vendor-neutral and easy-to-use technical computing experience while maintaining our core focus on top performance. We accomplish this goal through the following commitments:

  • High-utility in technical computing:

    • A commitment to consistently providing the standard math, science, and engineering technical computing functions needed to accomplish technical computing objectives.
    • A commitment to providing wrappers for these functions in the popular languages technical computing developers use, e.g., C/C++, Fortran, Python, Rust, etc.
  • Vendor-neutrality:

    • A commitment to run on all popular heterogeneous computing frameworks, e.g., oneAPI, CUDA, OpenCL, x86, without favoritism towards any particular device, e.g., CPUs, GPUs, etc. Software projects that rely on ArrayFire can expect to continuously have the fastest possible code into the future via a mere upgrade of the ArrayFire library as we fulfill our mission.
    • A commitment to optimize the library while regularly keeping pace with the evolving technical computing market, avoiding the high maintenance costs of evolving lower-level kernel code into the future.
  • Easy-to-use:

    • A commitment to maintain our focus on programmability so that our users can focus on their projects and algorithms without worrying about low-level hardware details.
  • Top performance:

    • A commitment to do our best to write the fastest possible code.
    • But more importantly, a commitment to truly work with developers around the world in a friendly and collaborative way to foster a fair and impartial approach towards putting the best contributions into ArrayFire, always giving credit where credit is due.

Excellence in computer science and collaboration with developers are values that guide us as we seek to fulfill the goals of this mission. We achieve those by listening to user feedback and systematically improving as fast as possible, given community contributions. We strive to meet the highest development standards in the world of open source, including documentation, testing, software development methods, and user outreach, as well as the highest ethical standards of conduct for a healthy collaborative project of this nature.