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
1 change: 0 additions & 1 deletion src/components/fundable/LargeProjectCardPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ export default function LargeProjectCardPage() {
const { pageName } = match.params; /* extract the dynamic part from the url i.e. the pageName*/
const projectsByCategory = getCategoryFromProjectPageName(pageName);
const project = projectsByCategory.find((project) => project.pageName === pageName);
console.log('project:', project)
if (!project) return null;

return (
Expand Down
19 changes: 19 additions & 0 deletions src/components/fundable/descriptions/MatrixOperationsInXtensor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#### Overview
This project aims to integrate Kazushige Goto’s highly optimized matrix multiplication algorithms into the [xtensor](https://github.com/xtensor-stack/xtensor/) framework, leveraging the [xsimd](https://github.com/xtensor-stack/xsimd/) library for SIMD acceleration.

##### Background

The GOTO algorithms, formalized by Kazushige Goto and Robert van de Geijn in their landmark paper "Anatomy of High-Performance Matrix Multiplication", are the algorithmic foundations underlying high-performance libraries such as GotoBLAS and OpenBLAS. The algorithms achieve near-peak CPU throughput through a principled exploitation of the memory hierarchy.

xtensor library is a popular C++ library for numerical analysis with a focus on multi-dimensional arrays and broadcasting, inspired by NumPy. xtensor leverages SIMD acceleration through the xsimd library and offers language bindings for Python, Julia and R.

By integrating Goto's algorithms into xtensor and using xsimd for SIMD optimizations, we can provide users with faster matrix operations, especially for large-scale computations.

##### Objectives

- Study and understand Kazushige Goto's matrix multiplication algorithms.
- Implement these algorithms in C++ using xsimd for SIMD acceleration. This implementation could be done in a way that is not tied to the xtensor codebase for better reusability.
- Integrate the implementation into the xtensor framework.
- Benchmark the performance against existing xtensor matrix operations and other libraries like Eigen and BLAS.
- Document the implementation and provide examples for users.

15 changes: 14 additions & 1 deletion src/components/fundable/projectsDetails.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import JupyterGISRasterProcessingMD from "@site/src/components/fundable/descript
import JupyterGISToolsForPythonAPIMD from "@site/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md"
import EmscriptenForgePackageRequestsMD from "@site/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md"
import SVE2SupportInXsimdMD from "@site/src/components/fundable/descriptions/SVE2SupportInXsimd.md"
import MatrixOperationsInXtensor from "@site/src/components/fundable/descriptions/MatrixOperationsInXtensor.md"

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

scientificComputing: [
{
category: "Scientific Computing",
Expand All @@ -70,6 +71,18 @@ export const fundableProjectsDetails = {
currentNbOfFunders: 0,
currentFundingPercentage: 0,
repoLink: "https://github.com/xtensor-stack/xsimd"
},
{
category: "Scientific Computing",
title: "Implementing Kazushige Goto Algorithms for Matrix Operations in xtensor",
pageName: "MatrixOperationsInXtensor",
shortDescription: "This project aims to integrate Kazushige Goto’s highly optimized matrix multiplication algorithms into the [xtensor](https://github.com/xtensor-stack/xtensor/) framework, leveraging the [xsimd](https://github.com/xtensor-stack/xsimd/) library for SIMD acceleration.",
description: MatrixOperationsInXtensor,
price: "45 000 €",
maxNbOfFunders: 1,
currentNbOfFunders: 0,
currentFundingPercentage: 0,
repoLink: "https://github.com/xtensor-stack/xtensor"
}
]
}
Expand Down
9 changes: 9 additions & 0 deletions src/pages/fundable/MatrixOperationsInXtensor/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/MatrixOperationsInXtensor/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/>
);
}
Loading