LSQR algorithm with PyOpenCL

As part of the FreeCAD-Ship project I created a LSQR algorithm to solve Linear systems of equations, accelerated with OpenCL using PyOpenCL.

LSQR is a great, and relatively recent, iterative method to solve linear systems which can work with unsymmetrical rectangular matrix of an arbitrary range. Fortunately this method has also the property to fit so quite well to the GPU computing paradigm.

Bug fixes in FreeCAD-Ship

Several bugs have been fixed and already integrated in the master branch:

* Bad computed main frame coefficient.
* Crash in the tank volume computation when too low filling levels are required.
* Eventually bad computed floating area coefficient.
* Disabled the simulations framework (in development)

Since has been already integrated, I hope that in several days will be included in the Windows installers and in the Linux packages.

AQUAgpusph

Nos vamos preparando para la liberación de AQUAgpusph (Another QUAlity GPU-SPH), un código W-SPH (Weakly compressible SPH) para resolver Navier-Stokes, acelerado con OpenCL, altamente modable y extensible con Python en algunas partes.

Y para ir abriendo boca ya hay algunas imágenes en la galería del canal (que tenemos como asignatura pendiente ir volviendo a rellenar):

http://canal.etsin.upm.es/galeria

Bug en la especificación de OpenCL 1.2

Creo que existe un bug de lo más absurdo en la última especificación de Khronos para OpenCL 1.2. He reportado el fallo en sus foros oficiales, pero de momento no hay respuesta.

Supongo que lo arreglarán (si no me he equivocado claro), pero de momento, a todo aquél que necesite las cabeceras, debe modificar cl_ext.h.

Me parece que funciona bastante mal el sistema por el que se liberan las especificaciones de Khronos, y una prueba de ello es este error, pero más flagrante todavía es la chapuza que hay montada en torno a las extensiones para D3D.