Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/components/fundable/MenuSideBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import styles from "./styles.module.css";

const sections = [
{ id: 'jupyter-ecosystem', label: 'Jupyter ecosystem' },
{ id: 'package-management', label: 'Package management' }
{ id: 'package-management', label: 'Package management' },
{ id: 'scientific-computing', label: 'Scientific computing' }
];

export default function MenuSideBar() {
Expand Down
10 changes: 10 additions & 0 deletions src/components/fundable/descriptions/SVE2SupportInXsimd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#### Overview
xsimd is a C++ header-only library that abstracts SIMD (vectorization) intrinsics behind a single, generic API. The same code - `xsimd::batch<float>` - compiles to optimal machine code on x86 SSE/AVX, ARM NEON, RISC-V, and WebAssembly, with no runtime overhead. When an intrinsic is missing on a given target, xsimd falls back gracefully rather than failing or leaving the developer to write platform-specific branches. This is why projects like Mozilla Firefox, Apache Arrow, and Pythran have adopted it as their vectorization layer.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I'm late to the party.

Wanted to add:

This is why projects like Mozilla Firefox, Apache Arrow, and Pythran have adopted it as their vectorization layer.

This is why projects like Mozilla Firefox, Apache Arrow, Meta Velox, KDE Krita, and Pythran have adopted it as their vectorization layer.


Writing SIMD intrinsics by hand is notoriously painful. Each architecture exposes different types, different naming conventions, and different gotchas — alignment rules, predicate registers, lane-width surprises, compiler bugs. Targeting two architectures means two separate, opaque, hard-to-test code paths. xsimd eliminates that cost entirely.

ARM is now a first-class server architecture. AWS Graviton4 — broadly deployed today across EC2 instance families — ships with SVE2, ARM's latest vector ISA. Google and Microsoft have both announced their own ARM-based server chips (Axion and Cobalt 200 respectively), signalling an industry-wide shift. SVE2 brings a materially richer instruction set than NEON, and xsimd currently cannot exploit it — falling back to SVE and NEON on hardware that is capable of significantly more.

We propose to implement a complete xsimd::sve2 backend — all arithmetic, mathematical, and reduction operations . The work will be fully tested, documented, and merged upstream into the public repository under the existing BSD 3-Clause license.

##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And towards the end 👀 @SylvainCorlay

Funding this development will directly enhance the cutting-edge data processing workflow using Arrow and Velox, paving the way for the future of ARM computing!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok I can add those parts @AntoinePrv

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AntoinePrv Can you please check PR #316. Thanks

6 changes: 6 additions & 0 deletions src/components/fundable/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ export function MainAreaFundableProjects() {
projectCategoryName={"Package management"}
projectCategory={fundableProjectsDetails.packageManagement}
/>
</section>
<section id="scientific-computing">
<ProjectCategory
projectCategoryName={"Scientific computing"}
projectCategory={fundableProjectsDetails.scientificComputing}
/>
</section>
<section id="propose-and-fund-a-project">
<h2 className={styles.project_category_header} style={{ margin: "0px" }}>Can't find a project?</h2>
Expand Down
17 changes: 16 additions & 1 deletion src/components/fundable/projectsDetails.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import NbconvertModernizationMD from "@site/src/components/fundable/descriptions
import JupyterGISRasterProcessingMD from "@site/src/components/fundable/descriptions/JupyterGISRasterProcessing.md"
import JupyterGISToolsForPythonAPIMD from "@site/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md"
import EmscriptenForgePackageRequestsMD from "@site/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md"
import JupyterLabParquetFileViewerMD from "@site/src/components/fundable/descriptions/JupyterLabParquetFileViewer.md"
import SVE2SupportInXsimdMD from "@site/src/components/fundable/descriptions/SVE2SupportInXsimd.md"

export const fundableProjectsDetails = {
jupyterEcosystem: [
Expand Down Expand Up @@ -57,5 +57,20 @@ export const fundableProjectsDetails = {
currentFundingPercentage: 0,
repoLink: "https://github.com/mamba-org/mamba"
}],

scientificComputing: [
{
category: "Scientific Computing",
title: "SVE2 support in xsimd",
pageName: "SVE2SupportInXsimd",
shortDescription: "xsimd is a C++ scientific library that abstract low-level high performances computing primitives across different hardwares. We will add support for the latest SVE2 generation of ARM CPUs.",
description: SVE2SupportInXsimdMD,
price: "30 000 €",
maxNbOfFunders: 2,
currentNbOfFunders: 0,
currentFundingPercentage: 0,
repoLink: "https://github.com/xtensor-stack/xsimd"
}
]
}

9 changes: 9 additions & 0 deletions src/pages/fundable/SVE2SupportInXsimd/GetAQuote.tsx
Original file line number Diff line number Diff line change
@@ -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 (
<GetAQuotePage/>
);
}
9 changes: 9 additions & 0 deletions src/pages/fundable/SVE2SupportInXsimd/index.tsx
Original file line number Diff line number Diff line change
@@ -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 (
<LargeProjectCardPage/>
);
}
82 changes: 41 additions & 41 deletions static/atom.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

42 changes: 41 additions & 1 deletion static/atom_all.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading