Chapel: Distributed arrays compatibility with existing LinearAlgebra procedures

Created on 22 Jun 2020  路  6Comments  路  Source: chapel-lang/chapel

A case by case check where Distributed arrays break the existing codebase

  • [x] Vector
  • [x] Matrix
  • [x] eye
  • [x] transpose
  • [x] plus
  • [x] minus
  • [x] times
  • [x] elementDiv
  • [x] dot(vector, vector)
  • [ ] dot(matrix, vector) [fails]
  • [ ] dot(matrix, matrix) [fails]
  • [x] inner
  • [x] outer
  • [ ] inv [fails]
  • [ ] matPow [fails]
  • [x] cross
  • [x] diag

    • works but does not use distributed

  • [x] tril
  • [x] triu
  • [x] isDiag
  • [x] isHermitian
  • [x] isSymmetric
  • [x] isTril
  • [x] isTriu
  • [x] isSquare
  • [x] trace
  • [x] lu
  • [x] permute
  • [x] det
  • [x] norm
  • [x] solve_tril
  • [x] solve_triu
  • [x] solve
  • [ ] cholesky [fails]
  • [ ] eigvalsh [fails]
  • [ ] eigh [fails]
  • [ ] eigvals [fails]
  • [ ] eig [fails]
  • [ ] svd [fails]
  • [x] jacobi
  • [x] kron
  • [x] isDenseArr
  • [x] isDenseDom
  • [x] isLocalArr
  • [x] isLocalDom
  • [x] isDenseMatrix
  • [x] isDefaultSparseDom
  • [x] isDefaultSparseArr
Libraries / Modules linearalgebra

Most helpful comment

Can you add checkboxes for each compatibility and incompatibility you find?

  • [x] Checked
  • [ ] Unchecked
- [x] Checked
- [ ] Unchecked

All 6 comments

@ben-albrecht need label: gsoc: linearalgebra

Can you add checkboxes for each compatibility and incompatibility you find?

  • [x] Checked
  • [ ] Unchecked
- [x] Checked
- [ ] Unchecked

In addition to @LouisJenkinsCS , it'd be helpful to include notes too, e.g.

  • [ ] dot(matrix,matrix)

    • Fails with compile-time error message: blah blah

  • [x] dot(matrix, vector)
  • [x] dot(vector, vector)

    • Code is not optimized for distributed arrays and could use some performance improvements

@rahulghangas - can you split dot out into 3 bullets depending on arg type, e.g. dot(vector, vector) vs dot(matrix, vector) vs dot(matrix,matrix)? Do all 3 cases fail?

@rahulghangas - did you check any sparse functions in this experiment? I suspect very few of them work with distributed sparse arrays today.

I haven't, will update the list

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bradcray picture bradcray  路  3Comments

bradcray picture bradcray  路  4Comments

Aniket21mathur picture Aniket21mathur  路  3Comments

ben-albrecht picture ben-albrecht  路  3Comments

ben-albrecht picture ben-albrecht  路  3Comments