Comments (5)
this is incredibly non-trivial...
from matrix-toolkits-java.
hmm, to be able to use locks I think we'd need to have nodes for all the zeroeth rows and colums, i.e. a memory cost of N + M
for an NxM
matrix. I might create Scala feasibility of this in a scratch area.
from matrix-toolkits-java.
You can do it with far fewer locks - you use a master lock to obtain lock instances.
Create two methods e.g.:
class LockController {
def aquire(n : Int,m : Int) : (Lock,Lock) = synchronized {
// we are in a guardian lock we can create new locks for N or M as needed.
}
def release(nLock : Lock,mLock : Lock) = synchronized {
// we are in the guardian lock - assuming no more holder we can free locks as we feel.
}
}
Obviously the N/M locks could be returned as a pair with aquire/release logic to ensure correctness.
This way you can reuse a very small number of locks,which approximates your row contention ratio rather than tracking NxM
from matrix-toolkits-java.
main problem is that I need to rethink the structure to facilitate row/column locks. The current structure is not limited to a row or column :-/ writing tests for the new structure as we type...
from matrix-toolkits-java.
giving up on this... too complicated!
from matrix-toolkits-java.
Related Issues (20)
- Update ArpackSym.java to support the generalized eigenvector problem. HOT 4
- make a new release on maven central HOT 10
- ILUT Preconditioner Bug HOT 1
- License version? HOT 1
- SVD fails in multi-threaded operation HOT 24
- no.uib.cipr.matrix.SymmBandEigenvalueTest unreliable HOT 1
- bad work array sizes in QRP HOT 1
- wrong exception message in AbstractMatrix.checkMultAdd(Matrix B, Matrix C) HOT 2
- Sparse cholesky factorization HOT 2
- Estimate eigen vector using power iteration HOT 4
- Slice Linked Sparse Matrix HOT 1
- Sparse SVD HOT 1
- COO Matrix support. HOT 1
- SEGV_ACCERR when running mvn package HOT 2
- should i check in dense complex matrix? HOT 3
- Fail to replace netlib-java DLL by MKL HOT 3
- No speeding up on Sparse Matrix multiplication HOT 4
- SparseVector set function inserts 0 into data array HOT 4
- Why not offer an float-version? HOT 1
- Allow computation of (largest) Eigenvalues for general matrices. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matrix-toolkits-java.