scilab

Versión 5.1.1 en (Itanium, Opteron y Péndulo) y 5.2.2 en Xeon del programa matemático de cálculo numérico.

Características generales

Está instalado en los nodos opteron de Arina y en Péndulo. La interfaz gráfica sólo está disponible en Péndulo y Guinness.
Similar en funcionalidades a Matlab. Incluye herramientas para:

  • Visualización 2D y 3D.
  • Lenguaje de programación (scripts de scilab).
  • Resolución de equaciones diferenciales.
  • Modelizador y simulador de sistemas híbridos: tratamiento de señal, sistemas de control, sistema biológicos,…
  • Álgebra simbólica (Maple).

Como ejecutar Scilab

Usar el siguiente comando:

scilab

y abrirá en Péndulo la interfaz gráfica y en Maiz una terminal. En los scripts para lanzar a las colas usar la línea

/software/bin/scilab -f script_scilab > output_file

donde script_scilab es el archivo con las ordenes para Scilab.

Más información

Más información y documentación de Scilab en http://www.scilab.org/.

Benchmarks

Hemos realizado unos benchmarks comparando [intlink id=»606″ type=»post»]Scilab 5.2[/intlink],  [intlink id=»612″ type=»post»]Octave 3.2[/intlink] y [intlink id=»600″ type=»post»]Matlab 7.10[intlink] en las máquinas del servicio.   Los resultados los presentamos en 3 tablas, la primera es un resumen de los resultados, la segunda son los resultados del bencharmark grande e incluimos una tercera con los mismos benchmark pero parámetros más pequeños para poder comparar con Péndulo.

Tabla 3: Resumen de resultados de los benchmark grandes. El score es la media geométrica de los 3 scores del bechmark grande.
Octave Scilab Matlab
Itanium Opteron Xeon Opteron Xeon Opteron Xeon
Total score 47.6 31.4 14.5 31.6 15.6 22.0 9.5

En resumen, las últimas versiones de Matlab y Octave tienen un rendimiento similar en los nodos Xeon (salvo por la ejecución de loops en Octave, ver más abajo). Scilab es aproximadamente un 50% más lento que los anteriores. En cuanto a las máquinas los nuevos nodos Xeon son mucho más potentes que los Itanium o los Opteron doblándoles en rendimiento (Scilab y Octave han sido compilados y linkados con librerías optimizadas, las versiones instaladas son el doble de rápidas que las versiones binarias instalables).

En la primera tabla resumen vemos la puntuación obtenida por los tres programas en las diferentes máquinas del servicio. Nos centraremos en las máquinas xeon que son las más nuevas. En ellas aparentemente Matlab es el más rápido. No obstante, si miramos detalladamente a los tiempos de ejecución de la tabla 4 vemos que los tiempos de Octave y Matlab son totalmente comparables salvo el benchmark en el que se crea una matriz de Toeplitz (Programation 4) en el que se testea la ejecución de bucles. La tecnología de Matlab permite ejecutar los loops de forma muy rápida mientras que Octave todabía no puede. En este sentido se recomienda en Octave usar operaciones vectoriales o funciones optimizadas en vez de bucles de forma intensiva (Por ejemplo, crear la misma matriz del benchmark en Octave con la función toeplitz(c,r) es casi instantáneo).

Del benchmark pequeño en el que incluímos a Péndulo vemos que obtenemos un rendimiento para Péndulo próximo a los Itanium y Opteron. En Péndulo no se han compilado sino que se han instalado los binarios.

El número de licencias de Matlab es limitado, pero la gratuicidad de Scilab y Octave le confieren ventaja en caso necesitar calcular mucho ya que no hay límite de licencias ni procesos de ejecución..

Tabla 4: Resultados de los benchmark grandes medido en segundos. El score es la media geométrica eliminando el mejor y el peor resultado. Al final se incluye una descripción de los benchmark. ++ tiempos muy largos, no se usan en la media geométrica.
Octave Scilab Matlab
Itanium Opteron Xeon Opteron Xeon Opteron Xeon
Matrix calculation
Matrix calc 1 108.6 35.9 12.8 93.0 33.2 24.5 12.4
Matrix calc 2 49.5 3.8 7.5 9.8 9.3 18.1 13.4
Matrix calc 3 122.3 32.8 25.1 27.8 25.6 24.8 18.4
Matrix calc 4 72.2 137.0 41.5 172.1 80.2 132.8 40.8
Matrix calc 5 37.2 42.5 17.9 40.0 18.0 54.8 18.7
Score 72.9 36.8 17.9 46.9 24.8 32.1 16.6
Matrix functions
Matrix func 1 2.6 1.2 0.5 11.0 0.9 1.7 0.6
Matrix func 2 153.5 99.5 37.2 290.9 71.8 124.0 39.9
Matrix func 3 48.1 50.8 22.1 48.1 21.6 65.8 23.0
Matrix func 4 57.1 72.8 29.1 66.1 29.8 106.5 32.8
Matrix func 5 32.1 42.9 16.1 39.7 16.3 51.0 16.5
Score 44.5 54.1 21.8 50.2 21.9 71.0 23.2
Programation
Programation 1 4.7 2.2 1.4 2.8 1.7 4.7 3.1
Programation 2 48.1 22.2 5.3 18.4 5.7 13.7 6.4
Programation 3 3.9 1.5 0.4 3.7 1.3 1.6 0.6
Programation 4 161.2 76.2 66.1 35.5 35.6 0.1 0.0
Programation 5 ++ ++ ++ ++ ++ ++ ++
Score 33.2 15.5 7.8 13.4 7.0 4.7 2.2
Tabla 5: Resultados de los benchmark pequeños medido en segundos. El score es la media geométrica eliminando el mejor y el peor resultado. Al final se incluye una descripción de los benchmark.
Octave Scilab Matlab
Pendulo Itanium Opteron Xeon Pendulo Opteron Xeon Opteron Xeon
Matrix calculation
Matrix calc 1 2.2 3.1 2.4 1.0 4.3 5.6 2.8 2.1 1.1
Matrix calc 2 0.9 5.2 0.3 0.7 1.1 1.1 0.9 1.2 1.2
Matrix calc 3 1.5 1.8 1.4 1.3 1.9 1.8 1.3 1.0 0.9
Matrix calc 4 1.8 1.8 3.8 1.2 18.4 6.4 2.3 3.0 1.2
Matrix calc 5 1.0 2.5 1.4 0.6 3.5 1.7 0.6 1.6 0.6
Score 1.4 2.4 1.7 0.96 3.1 2.6 1.7 1.6 1.1
Matrix functions
Matrix func 1 0.4 0.63 0.4 0.2 0.9 2.6 0.5 0.8 0.3
Matrix func 2 3.0 3.3 4.3 1.9 7.5 9.4 2.3 4.3 2.0
Matrix func 3 1.1 1.0 1.6 0.7 4.3 1.6 0.6 1.6 0.7
Matrix func 4 1.3 1.3 2.0 0.9 5.2 2.7 0.9 2.3 0.9
Matrix func 5 0.9 0.7 1.2 0.5 3.2 1.6 0.5 1.2 0.5
Score 1.1 1.0 1.6 0.65 4.2 2.2 0.67 1.7 0.66
Programation
Programat. 1 0.5 0.6 0.6 0.4 0.6 0.8 0.5 1.1 0.9
Programat. 2 30.0 2.6 3.9 1.1 4.3 3.5 1.2 2.6 1.3
Programat. 3 0.6 0.3 0.4 0.1 1.0 1.2 0.4 0.3 0.2
Programat. 4 8.2 14.3 7.2 5.8 3.3 3.7 3.2 0.0 0.0
Programat. 5 24.0 27.8 36.0 14.8 67.8 57.4 33.2 38.9 17.5
Score 4.9 2.8 2.6 1.4 2.4 2.5 1.3 0.9 0.58



Descripción de los benchmark.

Matrix calculation
Matrix calc Creation, transp., deformation of a matrix.
Matrix calc Normal distributed random matrix ^1000.
Matrix calc Sorting of random values.
Matrix calc Cross-product matrix (b = a’ * a).
Matrix calc Linear regression over a matrix (c = a b’).
Matrix functions
Matrix func FFT over random values.
Matrix func Eigenvalues of a random matrix.
Matrix func Determinant of a random matrix.
Matrix func Cholesky decomposition of a matrix.
Matrix func Inverse of a random matrix.
Programation
Programation Fibonacci numbers calculation (vector calc).
Programation Creation of a Hilbert matrix (matrix calc).
Programation Grand common divisors of pairs (recursion).
Programation Creation of a Toeplitz matrix (loops).
Programation Escoufier’s method on a matrix (mixed).

Un comentario en “scilab

Los comentarios están cerrados.