dwfmarchant / pymkl Goto Github PK
View Code? Open in Web Editor NEWPython wrappers to Intel MKL routines
License: MIT License
Python wrappers to Intel MKL routines
License: MIT License
Hi Dave,
Should be straightforward to get your package listed on PyPI. When ready, you just need to tag the release (git tag v?.?.?
or git tag -s v?.?.?
). This should match the setup.py
file. Then, you can run
python setup.py register -r pypitest
to set things up with PyPI testing, and
python setup.py register -r pypi
to do the same on the live site. After that, make testpublish
and make publish
should work.
Hi,
The Intel docs for pardiso at [1] suggest that if iparm[24] (parallel factorization) is enabled, then iparm[11] and iparm[13] should be disabled. Is there a reason why pyMKL isn't doing that?
I am having trouble on linux/mac compatibilities. Works on my mac, does not work on travis.
@jcapriot suggested that there might be an ordering issue. I think this might be good to get into the base repo. I have wrapped it in simpeg/pymatsolver#13 but probably should be in the base one and ensuring that the final matrix is actually sorted correctly.
A = A.tocsr()
if not A.has_sorted_indices:
A.sort_indices()
https://software.intel.com/en-us/node/470282
CAUTION
Intel MKL PARDISO column indices ja must be in increasing order per row.
You can validate the sparse matrix structure with the matrix checker (iparm(27))
Pardiso has a bug in it's nested disection reordering algorithm (both serial and parallel).
Until Intel releases an update to 11.3.4, can you set iparm[1] = 0
at https://github.com/dwfmarchant/pyMKL/blob/master/pyMKL/pardisoSolver.py#L131
For details on the bug see [https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/657934]
@jcapriot @dwfmarchant For recent versions of Anaconda3 for Windows OS (with Python 3.8 and possibly 3.7), the latest conda install of pymatsolver cannot import Pardiso. I have tracked down this issue to loadMKL.py in the pyMKL package.
I found that for Windows OS, the code will try to find the mkl_rt.dll in anaconda/Library/bin/. This file doesn't exist. Instead, there is a mkl_rt.1.dll. By changing the filename for the MKL library in loadMKL.py, I was able to import Pardiso from pymatsolver and run a TDEM forward model with the Pardiso solver.
Can this file be fixed so that it is up-to-date with current installations of Anaconda?
I noticed that the pardisoSolver.py has a factor() method but I was wondering if the python interface can access the actual L, U factors if, for example, I did an LU factorization (as well as the permutation matrices for any reorderings done).
Repeatedly constructing and initializing instances of pardisoSolver
leaks memory as the internal data is never freed.
I noticed that the class has a clear
method, but it isn't automatically invoked. Perhaps it could be called in the __del__
method of the class? One would have to make sure that multiple calls to clear
are safe.
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.