diff --git a/src/components/fundable/descriptions/Float16InArrowCpp.md b/src/components/fundable/descriptions/Float16InArrowCpp.md new file mode 100644 index 00000000..bc6ca18d --- /dev/null +++ b/src/components/fundable/descriptions/Float16InArrowCpp.md @@ -0,0 +1,37 @@ +#### Overview + +Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics. + +Arrow offers three floating-point data types based on the standard IEEE binary floating-point representation: +Float16, Float32 and Float64. + +In some workloads, 16-bit floating-point numbers have become a popular alternative to 32-bit and 64-bit representations, bringing better memory footprint and potentially better performance (when hardware support is present). + +However, while basic support is present, Float16 is not universally supported in all Arrow C++ components because of limited language support for 16-bit floating-point numbers. + +We propose to finish implementing support for Float16 in all components of Arrow C++: + +* scalar compute kernels: + - arithmetic: `abs`, `add`, etc. + - comparisons: `equal`, etc. + - math: `sqrt`, etc. + - `is_in`, `index_in` + +* vector compute kernels: + - `sort_indices`, `rank`, `rank_normal`, `rank_quantile` + - `partition_nth_indices` + - `select_k_unstable` + +* aggregate compute kernels: + - `sum`, `product`, `mean`, `mode`, `quantile`, `tdigest` + - `variance`, `stddev`, `skew`, `kurtosis` + - `first`, `last`, `min`, `max` + - `index` + +* CSV reader + +* ORC reader and writer + +Funders can decide to fund the entire package, or choose the components they are interested in. + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it diff --git a/src/components/fundable/projectsDetails.ts b/src/components/fundable/projectsDetails.ts index 078a63a3..a28e1efd 100644 --- a/src/components/fundable/projectsDetails.ts +++ b/src/components/fundable/projectsDetails.ts @@ -6,6 +6,8 @@ import SVE2SupportInXsimdMD from "@site/src/components/fundable/descriptions/SVE import MatrixOperationsInXtensorMD from "@site/src/components/fundable/descriptions/MatrixOperationsInXtensor.md" import BinaryViewInArrowCppMD from "@site/src/components/fundable/descriptions/BinaryViewInArrowCpp.md" import Decimal32InArrowCppMD from"@site/src/components/fundable/descriptions/Decimal32InArrowCpp.md" +import Float16InArrowCppMD from"@site/src/components/fundable/descriptions/Float16InArrowCpp.md" + export const fundableProjectsDetails = { jupyterEcosystem: [ { @@ -111,6 +113,18 @@ export const fundableProjectsDetails = { currentNbOfFunders: 0, currentFundingPercentage: 0, repoLink: "https://github.com/apache/arrow" + }, + { + category: "Apache Arrow and Parquet", + title: "Complete Float16 support in Arrow C++", + pageName: "Float16InApacheArrow", + shortDescription: "Float16 is a more compact data type than Float32 and Float64, and sees growing usage in applications where its limited precision is sufficient.", + description: Float16InArrowCppMD, + price: "TBD", + maxNbOfFunders: 2, + currentNbOfFunders: 0, + currentFundingPercentage: 0, + repoLink: "https://github.com/apache/arrow" } ] diff --git a/src/pages/fundable/Float16InApacheArrow/GetAQuote.tsx b/src/pages/fundable/Float16InApacheArrow/GetAQuote.tsx new file mode 100644 index 00000000..a945b598 --- /dev/null +++ b/src/pages/fundable/Float16InApacheArrow/GetAQuote.tsx @@ -0,0 +1,9 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import GetAQuotePage from '@site/src/components/fundable/GetAQuotePage'; + +export default function FundablePage() { + const { siteConfig } = useDocusaurusContext(); + return ( + + ); +} \ No newline at end of file diff --git a/src/pages/fundable/Float16InApacheArrow/index.tsx b/src/pages/fundable/Float16InApacheArrow/index.tsx new file mode 100644 index 00000000..876857af --- /dev/null +++ b/src/pages/fundable/Float16InApacheArrow/index.tsx @@ -0,0 +1,9 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import LargeProjectCardPage from '@site/src/components/fundable/LargeProjectCardPage'; + +export default function FundablePage() { + const { siteConfig } = useDocusaurusContext(); + return ( + + ); +}