-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
is it possible to support Complex Double data type ? #8
Comments
hi @gocanal, Best regards. |
Hi,
Am I correct ? thanks |
Hi,
So we first get the inverse of 2M * 2M Double matrix
then multiplies the inverse with the 2M * M matrix:
and we get
which is exactly what we want. hope it helps! |
Thank you very much for confirming. I did a quick test, and compared with Scalapack based solution. I am running on one machine, with only 4GB RAM (I3, 3.3GHz, Ubuntu 14.04, 64-bit Java). For multiplication, Marlin can support up to 5k * 5k. Scalapack can support up to 8k. For inverse, Marlin can only support up to 2.5k matrix, while Scalapack can still support up to 8k. Beyond 2.5K, marlin hits 'OutOfMemoryError: Java Heap' (the error happened in org.spark_project.protobuf.AbstractMe It seems that Marlin (or I should say Hadoop/Spark) consumes a lot more memory ? Or if there is something I did not configure correctly (I set spark.akka.frameSize=1024, executor-memory 2700m). |
Sorry for late reply. Actually, by default, 60% memory of Spark executor process is occupied by Spark |
Hi,
I am looking into the code to check if it is feasible to support Complex Double data type for matrix inverse and multiplication.
I realize that you have use a couple of external packages:
BLAS : you use dspr so I can replace it with zspr I presume ?
ARPACK : you use dsaupd and dseupd, I can not find a equivalent method.
Breeze : it supports Complex data type, so should be fine I guess ?
What's your assessment/advice for supporting Complex Double data type ?
many thanks
canal
The text was updated successfully, but these errors were encountered: