OpenMathLib / OpenMathLib/OpenBLAS
Data conversion when packing
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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