2011-02-11 3 views
10

Y at-il quelque part où je peux obtenir des binaires BLAS et LAPACK précompilés pour Windows au format objet OMF? Je veux lier un code de langage D à ceux-ci. Je suis conscient de l'endroit où je peux obtenir the relevant libs in COFF format. Je connais également l'outil objconv, qui convertit COFF en OMF, bien que cela ne semble pas fonctionner dans la pratique pour des raisons que je ne comprends pas complètement. Ceux-ci semblent être liés à des traits de soulignement dans les symboles, bien que j'ai essayé à peu près tous les paramètres pour traiter ces derniers et aucun ne semble fonctionner.Windows pré-compilé BLAS/LAPACK?

Alternativement, est-ce que quelqu'un sait comment convertir the reference binaries to OMF de sorte qu'ils se lieront réellement au code DMD-compilé? En dernier recours, quelqu'un sait-il comment faire fonctionner CLAPACK, CBLAS et F2CLIB avec DMC? Le processus de construction qui vient avec ceux-ci semble entièrement orienté vers la chaîne d'outils GCC.

+2

Le package multi-cartes lié dans ma réponse précédente http://stackoverflow.com/questions/4937699/fast-linear-system-solver-for-d/4942608#4942608 est livré avec un dll + wrapper (voir http: // dsource.org/projects/multiarray/browser/downloads/win32-deps) qui devrait fonctionner (je n'ai pas testé). Si cela ne fonctionne pas, faites le moi savoir et je vais essayer d'en construire un. BTW, si vous êtes nouveau à LAPACK, il y a deux gotchas: 1) toutes les fonctions Fortran prennent tous les paramètres (même ints) par référence à moins que la distribution LAPACK ait un wrapper C; 2) Les tableaux Fortran sont des agencements en colonnes, tandis que les tableaux en C sont des rangées majeures. – stephan

+2

@stephan: Vous devriez avoir mis cela comme une réponse. Je l'accepterais depuis que j'ai trouvé la même chose à peu près au même moment que vous avez posté. En ce qui concerne Fortran et tous, je n'ai pas l'intention d'utiliser BLAS et LAPACK directement. Je vais utiliser la bibliothèque SciD de Lars Kyllingstad, qui fournit de jolis wrappers autour d'elle. – dsimcha

Répondre

-1

"... des coutures entièrement orientées vers la chaîne d'outils GCC."

C'est un understataire. Blas est hautement "optimisé" pour se completer sous une version spécifique de gcc, 2.4.3 ??.

Il serait peut-être possible, en commençant par la version non optimisée de la source, de compiler avec la chaîne d'outils OpenWatcom, afin de générer des OMF 32 bits mais, je crains, beaucoup de foo serait impliqué et le résultat serait mort le code lent.

+1

Huh? LAPACK et BLAS ne sont en aucun cas ciblés exclusivement sur gcc; ils sont ciblés sur un système de construction fortran/c/make très générique, qui est trivialement portable pour pratiquement tout * sauf * windows. –

+0

Merci Steven pour la correction. Est-ce que je pensais Octave? Je me souviens de devoir utiliser 2.4.3 pour compiler Octave et je me suis souvenu que c'était dû au lapack. – starbolin

+0

P.S. Expiration du dernier commentaire Ne tenez pas compte du dernier bit. – starbolin

Questions connexes