2011-02-11 9 views
10

¿Hay algún lugar donde pueda obtener los binarios BLAS y LAPACK precompilados para Windows en formato de objeto OMF? Quiero vincular algunos códigos de lenguaje D a estos. Soy consciente de dónde puedo obtener the relevant libs in COFF format. También conozco la herramienta objconv, que convierte COFF en OMF, aunque esto no parece funcionar en la práctica por razones que no entiendo completamente. Estos parecen estar relacionados con caracteres de subrayado en símbolos, aunque probé casi todos los ajustes para manejarlos y ninguno parece funcionar.Windows precompilado OMF BLAS/LAPACK?

Como alternativa, ¿alguien sabe cómo convertir the reference binaries to OMF de manera que realmente se vinculen correctamente al código compilado de DMD? Como último recurso, ¿alguien sabe cómo crear CLAPACK, CBLAS y F2CLIB con DMC? El proceso de compilación que viene con estos parece orientarse por completo a la cadena de herramientas de GCC.

+2

El paquete multiarray vinculado en mi respuesta anterior http://stackoverflow.com/questions/4937699/fast-linear-system-solver-for-d/4942608#4942608 se envía con un contenedor dll + (ver http: // dsource.org/projects/multiarray/browser/downloads/win32-deps) que debería funcionar (no lo he probado). Si eso no funciona, házmelo saber e intentaré construir uno. Por cierto, si eres nuevo en LAPACK, hay dos trampas: 1) todas las funciones de Fortran toman todos los parámetros (incluso ints) por referencia a menos que la distribución LAPACK tenga un contenedor C; 2) Los arreglos de Fortran son diseños de columnas principales mientras que los conjuntos de C son filas principales. – stephan

+2

@stephan: Deberías haber puesto eso como una respuesta. Lo aceptaría ya que encontré lo mismo yo mismo al mismo tiempo que lo publicaste. En cuanto a Fortran y todo, no tengo intención de usar BLAS y LAPACK directamente. Voy a utilizar la biblioteca SciD de Lars Kyllingstad, que proporciona lindos envoltorios a su alrededor. – dsimcha

Respuesta

-1

"... costuras completamente orientadas hacia la cadena de herramientas GCC."

Eso es poco entendible. Blas está altamente "optimizado" para cumplir con una versión específica de gcc, 2.4.3 ??.

Sería, quizás, posible, comenzando con la versión no optimizada de la fuente, compilar con la cadena de herramientas de OpenWatcom, para generar OMF de 32 bits pero, me temo, mucho foo estaría involucrado y el resultado Sería un código lento muerto.

+1

¿Eh? LAPACK y BLAS no están dirigidos exclusivamente a gcc; están dirigidos a un sistema de construcción fortran/c/make muy genérico, que es trivialmente portátil para prácticamente todo * excepto * windows. –

+0

Gracias Steven por la corrección. ¿Estaba pensando en Octave? Recuerdo recordar tener que usar 2.4.3 para compilar Octave y recordé que era incorrecto debido a lapack. – starbolin

+0

P.S. Se agotó el tiempo de espera al editar el último comentario. Ignora el último bit. – starbolin

Cuestiones relacionadas