Reimplementierung LAPACK und BLAS für Java verfügbar?

Bergtroll

Bekanntes Mitglied
Unglücklicherweise hat meine CUDA fähige Nvidia Karte vor ein paar Tagen den Geist aufgegeben und ich habe jetzt ne ATI bestellt. Da bleibt wohl nur auf OpenCL warten, da es bisher scheinbar noch keine GPGPU Umsetzung auf reinem OpenGL gibt und ACML nicht Plattformunabhängig ist :-(
 

Bergtroll

Bekanntes Mitglied
So ich habe jetzt noch was interessantes gefunden, das auf den Namen SuanShu hört. Vielleicht könnten wir ja mal sammeln, was sich seit den Tagen des JavaGrande Forums in Sachen Java für High Performance Computing getan hat. Ich fände es jedenfalls interessant...

Nachtrag:
Die Lizenz von SuanShu ist dafür leider restriktiv :-(
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Zumindest für C++ gibt's schonmal ViennaCL - Natürlich hat es mir gleich in den Fingern gejuckt, dort ein "J" vorne dran zu schreiben (oder vielleicht lieber JSalzburgCL?), aber - im Moment bin ich in der Hinsicht ausgelastet...

Diese Fortran-Javadoc ist normal - wer setzt sich denn auch hin und bastelt für so pragmatisch-tabellarische Information irgendwelches webseitendesignpreisverdächtiges HTML zurecht :oops: ?

SuanShu sieht einerseits ganz interessant aus (Interessant, weil ich neulich mal angesetzt habe, zu überlegen, sowas ähnliches aufzusetzen (sonst wird einem ja langweilig :rolleyes: )). Allerdings sind da die BLAS-Funktionen nicht so... offensichtlich und "original-BLAS-nah" drin. Und letztendlich erscheint es beim ersten Überfliegen der API wie eine Mischung aus Colt, Apache Commons Math und JScience. Eigentlich wäre es schön, sowas mal "ganzheitlich" und auf breiter Basis aufzuziehen (und ich werde mir jetzt mal nicht anmaßen, beurteilen zu können, ob denen das wirklich gelungen ist) aber du hast Recht, was die Lizenz angeht: Da sagt man als Open-Source-Verwöhnter Javaner doch tendenziell: ".. na dann behaltet sie halt, eure Bibliothek...." :pueh: ;)

"JavaGrande Forum" - das war wohl noch vor der Zeit, wo ich solche Sachen bewußt mitverfolgt habe... :rtfm:
 
Zuletzt bearbeitet:

Bergtroll

Bekanntes Mitglied
Und letztendlich erscheint es beim ersten Überfliegen der API wie eine Mischung aus Colt, Apache Commons Math und JScience.

Lol, da bist du mir zuvorgekommen, wollte gerade genau diese drei "Entdeckungen" posten. Aber Colt liefert zumindest schonmal nen BLAS Interface in seinem Lineare Algebra Package. Eine Simple Numeric Calculations Facade wäre doch ganz nett... ???:L
 

Marco13

Top Contributor
Was genau du dir darunter vorstellst, ist mir nicht 100% klar. Eine allgemeine Facade für BLAS, wo man einfach die Implementierung austauschen kann wäre natürlich toll, scheitert aber erstmal ganz schnell an der ganz banalen Tatsache, dass es einmal
double ddot(DoubleMatrix1D x, DoubleMatrix1D y)
dann mal
double ddot(DenseMatrix1D x, DenseMatrix1D y)
vielleicht mal
double ddot(Matrix1D<Double> x, Matrix1D<Double> y)
und schließlich auch mal
double ddot(double x[], double y[])
heißt... Wenn man dort ggf. bei jeder Operation erst wild-wüst kopieren und konvertieren muss, wäre es mit der Performance im schlechtesten Fall wohl nicht mehr so weit her....
 

Bergtroll

Bekanntes Mitglied
nee, war auch nicht ganz ernst gemeint und eher eine Anspielung auf die SLF4J, weils ja auch nie zu nem einheitlichen Logging Framework gelangt hat. Ist halt sehr ärgerlich, dass schöne Konzepte auf alle drei genannten APIs verteilt sind. Bei JScience gefällt mir auf den ersten Blick z.B., dass die Interfaces ordentlich auf mathematische Begriffe abgebildet sind.
 

Marco13

Top Contributor
Hmja, JScience hatte ich erwähnt, weil ich genau das bei SuanShu auch gesehen hatte: Monoid, AbelianGroup, Ring, Field... Wie gesagt: Das SuanShu umfasst wohl noch mehr, aber so gesehen evtl(!). nichts, was nicht in einer dieser drei Bibliotheken zu finden wäre....
 

Neue Themen


Oben