ricosjp / monolish Goto Github PK
View Code? Open in Web Editor NEWmonolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
License: Apache License 2.0
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
License: Apache License 2.0
Only the following two implementations are available:
Hi,
Just wondering whether you plan to provide support for asynchronous copy/compute with GPU calls such as dgemm
.
I'm glad that your are using OpenMP offload. Since you say that the OpenMP offload is only currently available for NVIDIA. I was just wondering whether it is simply a question of time or if there were additional technical issues for implementing OpenMP offload for AMD.
Thanks,
Vijay
monolish_0.14.0-1+oss_amd64.deb and monolish_0.14.0-1+intel_amd64.deb is available in addition to monolish_0.14.0-1+oss+nvidia_amd64.deb and monolish_0.14.0-1+intel+nvidia_amd64.deb.
These new variants only contains CPU variant(libmonolish_cpu.so), but prevent from installing CUDA libraries which is very cumbersome. Installation document should reflect that.
The test/equateion in LinearOperator is not impl.
impl. test and update documents
impl. in github actions
need to get version number...
A.norm()
?
In order to implement IC/ILU preconditioner
If it is not implemented, the equation class cannot be templated.
The solver class functions do nothing.
This is the same as creating a CCS format.
We will not implement CCS format, but will implement the transpose() of CRS.
-DUSE_MPI
comm_table
of CRSsample code can not link monolish
This is Pending. Because cusparse SpMM can not use Row major matrix in CUDA10.x
CUDA11.X can use Row major matrix. ( wait for #8 )
Now the operator[] function gives an error when eigs and eigvecs are already transferred to the GPU.
Change it to give a LOBPCG-specific error message.
./lobpcg_gpu.out
terminate called after throwing an instance of 'std::runtime_error'
what(): Error, GPU vector cant use operator[]
at For Developpers
Find out how to link and extract programs in Doxygen.
If you use Log Viewer v0.1.0, type conversion may not work when reading data, so you need to update to the new version.
not impl. test now
The equation test can be templated.
Current docker/ is not working.
Container specification
Tasks:
For developpers
.create subdir
currently uses cusparseDcsrmv() and cusparseScsrmv(), but these APIs are deprecated already on CUDA 10.1 and removed on CUDA 11.2.
We should use new cusparseSpMV() API (already available on CUDA 10.1)
need ARM CI Runner
monolish::matrix::CRS<double> A_crs(COO);
monolish::matrix::Dense<double> A_dense(COO);
moolish::vector<double> tmp(A.col());
monolish::blas::matvec(A_crs, tmp, tmp); // tmp = A * tmp
monolish::blas::matvec(A_dense, tmp, tmp); // tmp = 0
If the pointers are the same, an error is thrown.
/monolish/src/blas/matrix/matmul/crs-dense_matmul.cpp:102:33: warning: 'void mkl_dcsrmm(const char*, const int*, const int*, const int*, const double*, const char*, const double*, const int*, const int*, const int*, const double*, co nst int*, const double*, double*, const int*)' is deprecated [-Wdeprecated-declarations]
&N, &beta, Cd, &N);
implemented in cusparse
Currently, all CUDA-related calls are wrapped with check_CUDA() to handle error code enums.
These enums are different between CUDA, cuBLAS, cuSOLVER, and cuSPARSE; we need to use different wrappers.
in monolish::mpi
monolish::matrix::COO A = monolish::util::2D_5p_laplace(M, N);
make guide to build OSS
and Intel
mumps or other?
It is necessary to consider the management method by tagging etc.
First, move everything.
Specify the method:
Float get_residual(vector &x);
https://github.com/ricosjp/monolish/blob/master/include/monolish_solver.hpp#L46
CUDA10.x and CUDA11.x have different APIs.
the resulting values are unreliable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.