Hi Karl, Thanks for your response! Fortunately, the only complex arithmetic I need involves much smaller matrices built from matrix elements between the eigenstates of the larger problem (so only up to N = 200-300), and I can just use Numpy for that. I'll check out the dev version and try to compare the two resources; from my simple tests on dense matrices ViennaCL can substantially outperform Numpy built with OpenBLAS, though I haven't checked sparse matrix multiplication yet and I don't know if it was using the CPUs or GPU to do that calculation.
Thanks, Eliot ________________________________________ From: Karl Rupp <[email protected]> Sent: Wednesday, November 11, 2015 3:06 AM To: Kapit, Eliot; [email protected]; Toby St Clere Smithe Subject: Re: [ViennaCL-support] Can I choose what computational resource runs my code in PyViennaCL? Hi Eliot, > I need to run a large series of sparse real symmetric matrix > diagonalizations (matrix size up to 1M by 1M, but very sparse and I only > need the first 200 eigenvectors/values at most) for a quantum computing > project, and I'd like to write the code in Python and call ViennaCL for > the heavy lifting. My workstation is a dual 8 core Haswell Xeon with 64 > GB of RAM and an AMD W8100 graphics card, all running Ubuntu 14.04. My > question is, within PyViennaCL, is it possible to choose which resource > (the two CPUs or the GPU) does the calculation? My guess is that the > CPUS will probably be much faster, but the GPU has much higher > theoretical max DP output. First question: Do you need complex arithmetic? If so, I'm afraid that I have to disappoint you at this point because ViennaCL only supports real arithmetic. I expect that ViennaCL will provide complex arithmetic at some point, but this will still take some time. As for the resource management: If I remember correctly, Toby (in CC:) implemented device switching capabilities in the developer-repository of PyViennaCL [1]. As far as I know, there is no such functionality in the latest 1.0.3 release on PyPI. I'm sure Toby can provide a precise answer to this. Best regards, Karli [1] https://github.com/viennacl/pyviennacl-dev/ ------------------------------------------------------------------------------ _______________________________________________ ViennaCL-support mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/viennacl-support
