Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library features #78

Open
25 of 57 tasks
EgorOrachyov opened this issue Nov 9, 2021 · 0 comments
Open
25 of 57 tasks

Library features #78

EgorOrachyov opened this issue Nov 9, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested topic:core Library core stuff topic:project Project setup related

Comments

@EgorOrachyov
Copy link
Contributor

EgorOrachyov commented Nov 9, 2021

Features

List of features/operations/primitives to support in the library in the near/far future.
Items written with priority, from higher to lower priority.

Core

Data primitives

  • Matrix
  • Vector
  • Scalar

Functional primitives

  • Function binary
  • Function unary
  • Function select

Storage formats

  • CPU LIL
  • CPU DOK
  • CPU COO
  • CPU CSR
  • Dense
  • CL CSR
  • CL COO

Operations

  • Mask & complement mask
  • Matrix read/write
  • Vector read/write
  • Scalar read/write
  • Matrix eadd
  • Vector eadd
  • MxM
  • VxM
  • Matrix assign
  • Vector assign
  • Matrix reduce (to vector)
  • Matrix reduce (to scalar)
  • Vector reduce (to scalar)
  • Extract sub matrix
  • Extract sub vector
  • Extract matrix row
  • Extract matrix col
  • Kron
  • MxV
  • Matrix transpose
  • Matrix emult
  • Vector emult
  • Matrix select
  • Vector select

Python package

Dec 2021
March 2022
April 2023

Foundation

  • Type wrapper
  • Auto type packing/unpacking
  • Import C functions
  • Built-in types
  • Built-in functions

Data primitives

  • Matrix wrapper
  • Vector wrapper
  • Scalar wrapper

Operations

  • Empty matrix/vector/scalar
  • Generate matrix/vector/scalar
  • From values matrix/vector/scalar
  • Property query
  • To lists
  • Index subscription
  • To string

Performance

Feb 2022
March 2023

  • High-performance memory saving SpGEMM
  • Two-pass merge-path based element-wise addition
  • Direction optimized mxv

Additional

Jan 2022
April 2023

  • Built-in extra values types
  • Built-in extra function type
@EgorOrachyov EgorOrachyov added enhancement New feature or request help wanted Extra attention is needed question Further information is requested topic:core Library core stuff topic:project Project setup related labels Nov 9, 2021
@EgorOrachyov EgorOrachyov added this to the Stage 3. Refactoring milestone Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested topic:core Library core stuff topic:project Project setup related
Projects
None yet
Development

No branches or pull requests

3 participants