Kérdés:
Milyen hatékony mátrix implementációk vannak a Java számára
demongolem
2014-02-05 07:50:11 UTC
view on stackexchange narkive permalink

Időről időre szükségem van egy könyvtárra, amely képes mátrixszorzást végrehajtani számomra. Azt hiszem, legutóbb az EJML-t használtam, de ez nem feltétlenül a legkönnyebben használható csomag, ha funkcióvektorokkal dolgozom. A jó csomag megléte azt jelentheti, hogy a számítások befejezéséhez szükséges várakozási idő különbözik. Tehát melyek a leghatékonyabb csomagok odakinn? Vannak-e jó viszonyítási alapok a különféle csomagok ilyen állításainak alátámasztására, amelyek létezhetnek?

Kettő válaszokat:
demongolem
2014-02-12 08:58:15 UTC
view on stackexchange narkive permalink

Nos, hadd adjak választ, mivel ez a kérdés kissé halk. Az EJML weboldalról megtaláltam ezt a grafikont:

enter image description here

Tehát ennek megfelelően az EJML a legjobb a tiszta Java kód használatával a kisebb mátrixokhoz, az MTJ pedig a legjobb a nagy méretűekhez mátrixok. Megint óvatosnak kellett lennem az egyik jelölt jelentésével, de ez némi betekintést enged a rendelkezésre álló különböző csomagokba.

Ez az a fajta válasz, amely arra gondol, hogy ez a webhely valóban működhet
damienfrancois
2014-02-05 13:12:27 UTC
view on stackexchange narkive permalink

A JBLAS megfelel a C / FORTRAN szabványos BLAS könyvtárnak, és nagyon gyors. Előre lefordított bináris fájlokkal érkezik, és a lehető leghatékonyabban használja a hardvert, a hardver típusától függően váltja a megvalósítást.

Egy másik alternatíva a JAMA.

Kedvelni fogom Önt, azonban további részleteket kerestem abban, hogy mitől hatékonyak / mennyire hatékonyak egymáshoz képest.
Mit értesz a C / Fortran standard blákon? NetBlas-ra gondol? (Melyik IIRC csak referensként létezik, és hurkok köré épül fel, és lassú.) Az Atlaszra gondolsz, amelyet a saját rendszered számára fordítottak össze? A magasan optimalizált OpenBlas-ra gondolsz? Úgy érted, hogy utánanéz, milyen BLAS könyvtárad van telepítve van, és borítékot nyújt az adott köré? Nincs C szabványos BLAS.
Mármint az eredeti netBLAS API definíció.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...