OpenMathLib / OpenMathLib/OpenBLAS

Data conversion when packing

Open
#5,647 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
7.6k
Forks
1.7k
Avg merge
1d 3h
Merged PRs (30d)
42

Description

I think we need a feature in which data conversion is done while packing. This way all architectures could get lower resolution kernels to work by converting either A or B or BOTH to a desired format and then using a kernel that uses that format.

It would be useful for SBGEMM and SHGEMM in some situations in which there is no fast hardware instructions with MADD in these formats.

Flow -

Current:

pack -> convert -> kernel

Proposed new feature:

pack_convert -> kernel

Yes, it would increase memory requirements. But for hardware that has slower conversions we are wasting NxKxM converts that could be done as NxK and MxK - which is a much smaller number.

Plus we could save the repetitive conversions that is done sometimes.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing pack → convert → kernel flow for SBGEMM and SHGEMM, then identify where a combined pack_convert path would fit. The proposal is complete when conversion can happen during packing for A, B, or both, allowing lower-resolution kernels to use the desired format while avoiding repetitive conversions.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
hpc, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.