EDICIóN GENERAL
381 meneos
4026 clics
El MATLAB mejora en hasta un 300% en CPUs AMD Ryzen al hacerlas pasar como una CPU Intel

El MATLAB mejora en hasta un 300% en CPUs AMD Ryzen al hacerlas pasar como una CPU Intel

MATLAB, el un popular 'laboratorio de matrices' empleado en universidades y centros de investigación y desarrollo, pero tiene grandes inconvenientes, y es que algunas de sus operaciones se pueden realizar mediante la biblioteca de rutinas matemáticas Intel MKL (Math Kernel Library), que está mal optimizada para los procesadores AMD Ryzen, lo que conlleva una enorme pérdida de rendimiento, pero esto ahora tiene arreglo.

| etiquetas: mat , lab , intel , amd
Comentarios destacados:                        
#7 Matlab, la mayor puta mierda que el ser humano computerizado ha creado.

El año que aprobé el último curso de la carrera donde tenía que usar esa bazofia, así amanecía mi sábana cada mañana que me despertaba y me acordaba de que jamás tendría que volver a verla:
Matlab, la mayor puta mierda que el ser humano computerizado ha creado.

El año que aprobé el último curso de la carrera donde tenía que usar esa bazofia, así amanecía mi sábana cada mañana que me despertaba y me acordaba de que jamás tendría que volver a verla:  media
#7 Sutil, muy sutil... y totalmente de acuerdo.
#7 amanecía brillante y marrón?
#7 Jajjjajajajajjaajaaa suscribo todas y cada una de tus palabras.
#7 si te digo que culpo a mi director de tesis de tener resultados demasiado tarde por obligarme a usar MATLAB y tener que lidiar con cosas que no tenían sentido....
#41 #37 #7 en Matlab los arrays empiezan en 1.

Ahí lo digo todo.
#65 Em...en R también.

> array = matrix(c(4,2,3))
> array
[,1]
[1,] 4
[2,] 2
[3,] 3
> is.matrix(array)
[1] TRUE
> array[1,1]
[1] 4
> array[0,0]
<0 x 0 matrix>
#66 Este mundo se nos va al garete...

dame numpy, pandas y sympy, y dominaré el mundo.
#67 Más quisiera pandas funcionar la mitad de bien que los data frames de R base. Y si te metes en el tidyverse ya ni te cuento
#69 había perdido la esperanza de encontrar comentarios valiosos en meneame, y vienes tú con una sola palabra, y me haces pasar media noche jugando con R.

Me ha gustado el concepto de tidyverse. Quizá implemente algo sencillo para poner a prueba su rendimiento.

Mis circunstancias no me permiten cambiar de la noche a la mañana mi caja de herramientas, pero reconozco algo bueno cuando lo veo.

Muchas gracias :hug:
#65 Es que los vectores tienen que empezar en 1 y no en 0. Otra cosa es que los informáticos no sepan contar.
#7 no sé tú caso ni el uso que le diste, pero es una herramienta que tras saber usarla es bastante útil. Sus librerías de análisis de señal son bastante buenas y sencillas de usar, y permite por ejemplo probar el comportamiento de un algoritmo de procesado de señal antes de meterlo en un DSP o una FPGA, en incluso traducir tu algoritmo a C o VHDL para poder hacerlo mucho más fácilmente, aunque ahí he de decir que no lo he probado y no se cómo de bueno será.
Esto me recuerda a la guerra sucia de Intel contra AMD, y su compilador que perjudicaba expresamente las CPUs AMD.
#1 Lo de siempre Intel se ha dormido en los laureles y no le duelen prendas en enmierdar.
#1 En el starcraft 2 tambien pasaba. De echo va mejor en un maquina virtual con la ID de la CPU cambiada a intel que en el host rulando AMD.

us.battle.net/forums/en/sc2/topic/16203380383
#32 Mmmm... sospechoso. No todo es procesador. Los puentes son muy relevantes en cuanto al rendimiento, así como la memoria. Lo de la máquina virtual habría que analizarlo detenidamente. Aunque no es la primera vez que veo batallas de este estilo entre Intel y AMD.

Tengo un Phenom II 1090T que como procesador es una auténtica bestia, pero la placa no ha salido fina (chipsets AMD 790GX + SB750), y eso que no me salió barata y el procesador compilando es una estufita de 125W. La gráfica interna de la placa es horrible, tanto en diseño como en controladores, y algo salva una gráfica externa mínimamente decente incluso para 2D, sobretodo en FB (no juego).
#73 Qué va a ser una bestia. Quizás hace ya unos cuantos años. A día de hoy poca bestia es.
#1 Ahí nos faltan benas políticas antimonopolio, especialmente en el sector tecnológico.
Me encanta cuando una noticia tecnológica hiper-especializada llega a la portada de Menéame. Me recuerda a los viejos tiempos.
#10 Hombre, hiper-especializado esto tampoco es... Pero sí, mola tener este tipo de noticias en portada (¡y más frikis aún también!).
#15 ¿Para qué? Sólo tienes que ver los comentarios, ninguno ha entendido nada....
#15 A mí sí me parece hiper-especializado ¿Qué porcentaje de los meneantes crees que va a beneficiarse de este truco? Como mucho, un 10% sabe lo que es Matlab, y un 25% reconocen los nombre Intel y AMD. Y estoy siendo optimista. Pero vamos, que realmente configuren el Matlab a nivel de procesador, ni el 1% del personal.
Clickbait sensacionalista... El título hace entender que hay un chanchullo para que en una prueba de benchmarking salgan mal parados los procesadores AMD, cuando la realidad es que simplemente nadie ha desarrollado aún la librería para AMD, y sí la de Intel y por tanto tiene que ir a una implementación AMD más antigua y no aprovecha todas las capacidades actuales de AMD.

Viendo los comentarios está claro que ha funcionado...
#11 la MKL es desarrollado por Intel y no es libre. No es cuestión tanto del Matlab como de la MKL. No se hace una librería para AMD, se hace una librería que se salta la comprobación que es un Intel genuino y y así usa instrucciones que no usaría si no fiera un Intel genuino aún teniéndolas el procesador.
#19 La Intel MKL está diseñada para ser óptima en procesadores INTEL, eso es así. Si quieres algo optimizado para procesadores AMD, pues tendrás que irte a otras librerías o hacer el tweak del que habla el artículo. Porque ya las hay (librerías optimizadas para AMD).
#23 la optimización es que el programa tire de instrucciones del procesador, no que por que el procesador a la pregunta de si es un Intel genuino si responde «no» la librería no use instrucciones que tiene el procesador ya que esas instrucciones son estándar.
Es como si la página web de Samsung se carga distinto en un Samsung y en otro móvil y no por versión del navegador, un detalle feo o mala práctica en algo bastante menos importante que esa librería.
#28 La librería seguramente controle más allá de GenuineIntel y mire modelos o fechas de fabricación porque, de hecho, no todos los procesadores Intel soportan las instrucciones AVX2 (por ejemplo si son Xeon de hace unos 6 años -experiencia propia inside-). Y tampoco es justo que tenga que comprobar nada de la competencia y tener que mantener una lista de todos los modelos del mercado que no son suyos. Si ve que los suyos las soportan pues adelante, si no al standard más seguro que es el más antiguo y, claro, el más lento. Está claro que le viene muy bien, pero no creo que sea tan juego sucio puro y duro.
#47 La cuestión es que si el micro te dice que soporta AVX2, tú deberías usar AVX2. Que luego no funciona bien porque la implementación no es buena, no es problema tuyo, pero lo que no puedes hacer es capar funcionalidades en función del fabricante del hardware.
#19 Y esto que dices, que la librería Intel MKL es desarrollada por Intel para SUS procesadores es lo que aquí casi no se menciona. El compilador de Intel y la MKL están mas optimizados que otros como gcc y el rendimiento es muy superior. El compilador no es de uso gratuito si no todo lo contrario, es bastante caro, pero las librerías si que están disponibles gratuitamente. Entiendo que podrían abrirlo, pero también que están en su total derecho de restringirlo a procesadores intel, por mucho que los amd integren esas instrucciones. De hecho, la pregunta sería la contraria, es legal engañar a la librería para que funcione en un AMD?
#95 Ilegal no es, las ñapas como esa están a la orden del día. El navegador Links+ que uso tiene el User Agent de Opera Mini 3 y todo se dibuja maravillosamente bien.

En Opera antiguamente y ahora en Chrome, en OpenBSD, ciertas cosas como Skype solo tiraban con User Agent de Microsoft.

Algunos drivers de X en Unix dan mas rendimiento que los de serie, sobre todo en gráficas intel --(modesetting(4) vs intel(4)-.
#95 El codigo de MKL incluye soporte para leer una variable de entorno y dependiendo del valor, saltarse la comprobacion de que la CPU es de intel. Vamos, que aqui a la libreria no la esta engañando nadie.

cc #96 (no es una ñapa)
#95 no tiene derecho a restringirlo www.muycomputer.com/2014/06/13/multa-a-intel-por-monopolio/
Se podrá centrar en X86 y en juegos de instrucciones donde es más avanzado Intel, pero usar la pregunta Intel Genuine para no verificar que el procesador tiene SSE4, AVX y AVX2 es una guarrada y puede que ilegal.
#11 La librería salió en 2003 y ha tenido muchas actualizaciones (la ultima de 2018). Esto no es actualidad porque se llevan quejando desde 2009. Tal vez lo actual es que ahora lo han probado con un Ryzen.

La librería está perfectamente desarrollada y puede leer que el procesador es compatible con esos juegos de instrucciones. Parece que está hecha así a posta para discriminar procesadores de la competencia. Es como si al detectar un procesador no Intel, decidiese usar la mitad de RAM.
#22 Hace como 6 años que yo no trabajo con esto y de aquella ya se sabía que la MKL da sopas con hondas cuando usa AVX2 y que hace fallback a SSE si detecta una CPU de AMD.
La noticia es el workaround que permite usar AVX2 "engañando" a la MKL usando una variable no documentada. De hecho, MATLAB ha sacado un parche. Yo no sé si hay cierta "maldad" por parte de Intel, pero está claro que hay una guerra comercial entre Intel y AMD y esto va a joderles bastante.
#11 No, no es sensacionalista. La cuestión es que la MKL decide habilitar o no el soporte para SSE2/SSE3/SSE4/AVX/AVX2/etc. en función del fabricante del micro, y no de si el micro dispone o no de dichas funcionalidades (que se puede consultar con la instrucción CPUID). Intel lleva jugando sucio desde hace más de 10 años:

www.agner.org/optimize/blog/read.php?i=49#49
www.ftc.gov/news-events/press-releases/2010/08/ftc-settles-charges-ant
en.wikipedia.org/wiki/CPUID
lo de intel es siempre lo mismo, noticia en la que se muestra cómo de miserables són, y aún así lo máximo que se consigue es que la gente compre sus productos, pero muy enfadados, ya sea porque tienen potencia, ya sea porque los rebajan de precio.

tengo la esperanza que estas ultimas generaciones de amd inviertan la tendencia.
#5 ¿Pero cómo que miserables?
#12 Porque por lo que se lee en la noticia realmente no es que la biblioteca esté mal optimizada para no Intel, si fuese así aún haciéndolo pasar por Intel funcionaria más lento, simplemente si no es intel pasan completamente de optimizar nada, ni siquiera usan características estándar que tiene el procesador que son idénticas a las de los procesadores Intel.
#18 De ahí a decir que es culpa de Intel o que Intel hace cosas "miserables" como se lee en los comentarios, hay un trecho, más bien la explicación más sencilla: "Nadie se ha interesado por optimizar para AMD esa librería"...
#21 No parece falta de optimización, parece que la adaptación a AMD no debieron hacerla, ya que, funciona mejor con la (no) optimización para Intel en los AMD.
#25 La mejora (de hasta el 300%) es respecto al rendimiento de AMD vs AMD (con tweak), no respecto a Intel.

Y total, Intel MKL es sólo una librería, hay otras Open Source que (según ellos) dan mucho mejor rendimiento.
#29 No he dicho lo contrario sobre lo del 300%.

Pero desde luego que, algo ha salido mal para que el programa funcione al triple de velocidad si se desactiva la optimización para ese procesador.
#29 Intel MKL son un conjunto de librerías matemáticas que no tienen rival como suite a día de hoy. Las OpenSource como OpenBLAS, FFTW, ScaLAPACK, etc. no pueden competir con estas. Sí a lo mejor alguna implementación suelta como la primera de la lista, pero no las demás.

Ya si encima las usamos con la implementación MPI de Intel es como la noche y el día para una basta cantidad de aplicaciones.

Ah, no son código abierto, pero se pueden descargar gratuitamente.
#21 Creo que no has entendido lo que he dicho, la librería a sabiendas no aplica optimizaciones que tiene implementadas y podría usar. La libreria sabe que tal o cual característica existe en el procesador peo no la usa por no ser Intel, por eso hablan de hacer cosas miserables, el desarrollador de la libreria la hizo así a sabiendas para perjudicar a procesadores no Intel.
#18 Pero la cosa no es tan simple hombre, y lo digo despues de haber trabajado con un ingeniero que en ese tiempo (hace 3 años) programaba la MKL y usaba nuestros programas como benchmarks de rendimiento, por lo que colaborabamos para sacar el mayor rendimiento posible.

Hay características "externas" que son las que todo el mundo (habitualmente) conoce: longitud de las líneas de cache, número de registro vectoriales y su longitud, conjuntos de instrucciones, etc.. Hay otras muchas…   » ver todo el comentario
#59 No te líes con detalles de microarquitectura, que es mucho más sencillo que todo eso: si la biblioteca detecta que el microprocesador es Intel activa el soporte para AVX y AVX2, y si no es Intel se queda con SSE 1 pelado, aunque el procesador soporte instrucciones más modernas.
#5 yo cambié mi torre hace 6 meses, tenia un i5, ahora un ryzen 5. nada del otro mundo, pero paso de intel, tienen demasiados bugs, problemas y vulnerabilidades.... y para un uso normal, sirven perfectamente los amd
#5 de momento Apple dijo que se salía de Intel en unos años no?
#5 Esta invertida a lo bestia desde hace unos meses.

hardzone.es/noticias/procesadores/amd-intel-venta-procesadores-septiem

#39 El plan de Apple en un principio es diseñar sus propios procesadores basados en ARM. Si lo consiguen será la cuadratura del círculo... El tiempo dirá. De momento con AMD mantienen una "sana" relación en cuestión de chips gráficos a golpe de odio común a Nvidia.

También destacar que el "plan maléfico" de AMD es integrar gráfica y…   » ver todo el comentario
#53 Como no se saquen algo de la manga, de momento pinta la cosa mal para intel (y Nvidia).

No sabría decirte, Nvidia está pegando muy fuerte con la inteligencia artificial. Corrígeme si me equivoco, pero va por delante de AMD en Ray Tracing, en relación potencia/consume Y CUDA es casi ya un estándar por delante de openCL
#56 En computación les va de puta madre, pero yo hablaba de mercado doméstico. Y les va de puta madre de momento.

towardsdatascience.com/on-the-state-of-deep-learning-outside-of-cudas-

El Ray Tracing... Ni te doy la razón ni te la quito, me explico: AMD va a presentar dentro de poco su propia implementación en su (por fin) nueva arquitectura RDNA2, la cual se sabe que lleva desarrollando tiempo, por ejemplo para las próximas consolas.

Nvidia tiene sus…   » ver todo el comentario
#74 Interesante enlace, luego le echo un vistazo con detenimiento pero no sabría decirte. CUDA parece llevar demasiada ventaja con respecto a openCL y no sabría decirte si ser software libre y multiplataforma vaya a compensarlo. Con respecto a AMD en el mercado doméstico y su nueva arquitectura...parece haber un salto cualitativo con respecto a Polaris, igual que lo hubo respecto a TeraScale y eso puede no significar mucho más que ponerse a un nivel similar con Nvidia -o lo que saque Intel, que vete a saber-, no necesariamente superior. Pero volvemos a lo mismo, es hacer de pitonisas.
#53 a ver si se les cae el chiringuito
#53 >También destacar que el "plan maléfico" de AMD es integrar gráfica y CPU en un mismo "chip"

Pero si cualquier CPU de Intel de hace años integra GPU, lo raro es que AMD no lo haya hecho antes al comprar ATI.
Vamos a intentar explicar esto para gente sin conocimiento especializado de procesadores.

Los procesadores evolucionan con el tiempo. Normalmente, nos parece que los procesadores son todos compatibles entre ellos, pero no siempre es del todo cierto. Es bastante comun que los procesadores nuevos incluyan instrucciones nuevas que permiten realizar ciertas operaciones mas rapido. Sin embargo, sin un programa intenta ejecutar una de estas instrucciones en un procesador viejo, el programa no…   » ver todo el comentario
#79 Genial explicación, de los pocos que lo entienden y ademas se molestan en explicarlo.

Para mi gusto te ha faltado añadir que históricamente la arquitectura x86 es propiedad de intel y que AMD (entre otros como cyrix) la copio/licenció? por su popularidad, y que puedes compilar aplicaciones para intel en cualquiera de sus generaciones (y perdiendo plataformas según indicas), o para AMD si el compilador lo soporta.
#82 Intel permite a AMD usar su licencia i386 y AMD hace lo mismo con amd64 a intel.

Aunque la verdad, mi PC favorito sería:

hackaday.io/project/643-minibsd-laptop-computer


- Placa PIC32-HMZ144 con 4MB de RAM, idealmente 8MB. invidio.us/watch?v=JeQjxYTONp0
- BSD 4.4 lite 2. Me sobra. Funcionaría casi todo lo actual bajo terminal, entre ello, lynx y mpg123 github.com/sergev/4.4BSD-Lite2
- Teclado, cualquiera, me basta un conector i2c a USB/PS2
- Sonido NPI, no costaría demasiado meter una tarjeta USB.
#83 Pero no desarrollan sus procesadores conjuntamente ni comparten el ISA (en.wikipedia.org/wiki/Instruction_set_architecture) por lo que siguen siendo dos plataformas diferenciadas.

Es de esperar diferentes comportamientos de la misma aplicación en función de la plataforma y lo contrario es fruto de la ignorancia y desconocimiento en cuanto al funcionamiento de un procesador.
#84 He, no tan diferenciadas. Si tu OS de juguete arranca en amd64 al igual que el intel, y los programas pasan todos los tests, son plataformas compatibles.
#85 ¿Y que pasa si arrancan? Los juegos de instrucciones CISC los componen instrucciones complejas que tratan de ahorrar tiempo no usando instrucciones mas simples. El rendimiento no tiene por que ser el mismo aunque ambos implementen las mismas instrucciones.

Piensa en coger a dos programadores y asignarles a cada uno el mismo problema complejo. Les indicas el nombre de una función y que parámetros acepta y que parámetros ha de devolver dicha función. Cada uno te desarrollará una solución…   » ver todo el comentario
#86 Sobre las licencias, pues eso. Intel no tenía amd64 y ni se le esperaba, así que rebajó requisitos de licencias para poder operarlo, los cuales antes tenían Itanium que eran una cosa marciana de narices.

En cuanto al BSD pic, pues he dicho PC al principio. Los 512kb de RAM no me convencen, mínimo 8MB para poder usar tcc, un compilador de Inform6, o bien frotz con facilidad teniendo un flite debajo pronunciando en inglés sin morirse la SD con tanto acceso a la SWAP.
#89 Itanium no es marciano. Ni lo es Power, ni MIPS, ni PowerPC, ni Alpha, ni HP PA-RISC. Son cosas que han tenido su extensión, mercado y uso. Lo que pasa es que tu no eres su mercado y te suena marciano.

Itanium era la sucesora 64 de x86, y su 'problema' (por asi decirlo) fue querer dar el salto sin vaselina, es decir, no tenia soporte 32bits y todo lo que instalases en un Itanium tenia que estar específicamente compilado para 64.

AMD hizo la arquitectura x86-64, totalmente desaprovechada…   » ver todo el comentario
#91 Eh, he rulado cosas MIPS y PowerPC, digo "marciano" porque en todas las lineas sucesorias de CPU hubo bastante retrocompatbilidad por detrás. Itanium tenía bastate poco uso respecto a otras arquitecturas en su día.

Sobre totalmente desaprovechada, será en otros sitios, en Linux tardaron poco en pasarla a 64bit al contrario que Windows (lo mismo los BSD) y muchos se cagaban tanto en Adobe como en los codecs propietarios de Mplayer via wine, donde instalar los de 64 bit era una…   » ver todo el comentario
#91 Aunque en emulación las cosas más raras que he tirado son:

- VAX con BSD 4.3, me costó cero configurar vi correctamente, la terminal y la red. No es dificil configurar date(1) con soporte y2k, es pasar un signo de unsigned long a long creo en la especificación de la fecha. Configurar el host OpenBSD fué un chiste con bridge tap y una regla para PF. En Linux me quería cortar las venas.
- PDP10 con Tops-20 e intérprete frotz, probando aventuras conversaciones que ando generando en dicha plataforma con inform6.
- NetBSD con la CPU esa del Blit, lo que usaban en SDF más o menos, por curiosidad.
#94 Ya no me cuesta entender como una cuenta de 13 días tiene +400 comentarios. Se te nota que te gusta presumir. Ya crecerás
#97 Hablas como si no conociera Menéame desde hace 10 años o más y antes no hubiera perdido el tiemp... aprendido en barrapunto.
#100 Hablo como si el comentario #94 no aportara información a la conversación.
#91 Itanium no fue un acierto, eso esta claro. Es el producto de una epoca donde se creyo que analisis estatico de codigo, asi como soporte adicional en el compilador podia generar una arquitectura mas eficiente. Estamos hablando de cosas como el compilador intentandole decir a la CPU que rama era la mas probable que se ejecutara durante la compilacion, o intentar comprimir multiples instrucciones en una sola instruccion gigantesca. Muy poca de la tecnologia exclusiva de Itanium se a reaprovechado para procesadores actuales.

x86-64 estuvo desaprovechada al principio, pero eso no es ninguna sorpresa. Ni siquiera fue una sorpresa en su momento, simplemente una evolucion natural
#82 te recuerdo que cuando AMD saco los 64 bits, túvo Intel que pagar a AMD para poder emplear procesadores de 64 bits en condiciones, si 64 bits pero que al emplear software de 32 no perdieran rendimiento como los itanium es decir tuvo que meter código de AMD, en sus procesadores a los cuales llamo x86_64
#87 En lInux y BSD la arquitectura de 64 bit "intel" se llama "amd64" con pleno derecho.

>uname -a
OpenBSD openbsd.home 6.6 GENERIC.MP#0 amd64
#90 El nombre oficial en el kernel de linux es x86-64, no amd64. Debian si que utiliza amd64 de manera oficial, al igual que gentoo.

He aqui un ejemplo:
github.com/torvalds/linux/tree/master/Documentation/x86

Una pena, amd64 es mucho mas comodo de escribir. La unica desventaja es que es muy parecida a arm64 si estas leyendo rapido (pero tampoco importa mucho porque por otros motivos, arm de 64 bits es casi siempre llamado aarch64). Incluso me hubiera valido x64, que suele usar Microsoft. Pero x86-64, con el guion, los dos seises... uff
#82 Efectivamente x86 es propiedad de Intel, pero Intel y AMD siempre han tenido acuerdos legales para intercambiar tecnologia (al menos desde que salio x86). Sin embargo, x86-64 es trabajo de AMD. Diria que hoy en dia la posibilidad de que rompan dichos acuerdos es minima, ambos tienen cosas que el otro quiere.

Sobre compilar contra plataformas especificas, si. En el mensaje original intentaba explicar algo mas sobre el tema, como por ejemplo que este es el motivo por el que algunos juegos…   » ver todo el comentario
#37 Hoy por hoy tengo muy claro que prefiero meterme en R y currarme una función propia o buscar algún paquete esotérico perdiendo una tarde si hace falta antes que volver a meterle mano a Matlab. Muy necesitado tendría que estar de alguna super importante característica específica. Si no, ni con un palo. Y con SPSS tres cuartos de lo mismo, aunque éste a día de hoy sí lo sigo viendo útil. Y Octave...no es 100% compatible y en IA por ejemplo, he visto dar disgustos a más de uno...Matlab para mí que se irá reduciendo a un nicho de mercado muy especializado donde R o Python no estén básicamente porque o no han llegado todavía o no les haya interesado estar.
Me han dicho que el lenguaje 'R' se está merendando a Matlab. Es esto cierto?
#3 Más que R, es Python.
#4 R se merendó a matlab y python se merendo a R como buena Anaconda
#3 #4 #8 El mundo real no es ni blanco ni negro. Depende de en que campos, Matlab sigue siendo superior, o R, o Python.
#20 Simplemente te digo lo que se usa. En las universidades de ingenieria las prácticas se haces en python. La imagen del agujero negro se generó en python etc.
#24 ostiá la imagen del agujero negro se generó en python? wow!
#50 a ver si esto lo ve @BilisPorBandera que hace una semana me decía que Python solo se usaba en juguetes.
#72 Un ejemplo VS el resto de cosas.
Parece una buena muestra para tomar conclusiones
#24 Y muchas otras cosas se hacen en Matlab, y muchas otras en R.

Python es muy popular, se usa mucho y es un buen lenguaje para aprender (por eso se enseña en muchas carreras).
En algunos campos, R es muy popular (estadística en general y biología molecular, por ejemplo). Obviamente puedes encontrar ejemplos tanto en estadística como en biología donde usan Python, o donde usan Matlab. Precisamente esto es lo que digo: el mundo no es blanco y negro.
#42 En ningún momento he dicho que solo se use Python. Simplemente te he dicho la moda.
#24 En las universidades de ingeniería las prácticas se hacen el Matlab. Pero qué estás contando.
#48 Pues la verdad. Antes sin duda matlab o octave, ahora ya no.
#49 buena suerte reemplazando SimuLink...
#62 sabes lo que implica para empresas que tienen todos sus modelos desarrollados durante años en Simulink migrar a algo simplemente porque es gratis y porque se puede hacer?

El coste de un sistema no es simplemente lo que pagas para usarlo. Cuando pagas software estas pagando soporte, mantenimiento, una garantía de que el sistema en el que basas tus desarrollos es estable, etc. Puede que a mas de una empresa le resulte mas barato pagar las licencias de Simulink que meterse a migrar modelos…   » ver todo el comentario
#70 Alto colega, simplemente te he dicho que existe la alternativa. Lo demás te lo has sacado tu de la manga.
#70 En redes neuronales Python lo peta. Por cierto, sobre velocidad, llaman a BLAS/LAPACK por debajo, y son librerías creadas en Fortran.
#48 Depende, no hay un único lenguaje para prácticas en ingenierías, mi mujer está estudiando ahora una ingeniería y en imágenes biomédicas usan Matlab, en estadística R y en otras Python, Java o C#
#24 A mí me metieron Pascal :wall:
#24 pues en las de física se sigue usando MatLab, no se exactamente por qué, pero hace virguerías y se da en primero. Al final cada compilador tiene sus ventajas y desventajas dependiendo del campo en el k se use. Además Python es un lenguaje o un compilador? Porque me suena que MatLab es más que un lenguaje.
#20 En olor a añejo... 1970, buena añada para algunos vinos.
#20 Y en otros se usa Cobol. Eso no significa que haya otros predominantes
#3 #8 Matlab lo he usado sobretodo en inteligencia artificial, y personalmente nunca terminó de gustarme -aunque también odio de corazón Mathematica , aún con sus virtudes- R lo veo más potente en el sentido de más capaz de manipular matrices con utilidad estadística Ahora mismo, diría que es un toma y daca entre R y Python, esta última tiene la ventaja de sus librerías aunque puedes usar ambas a la vez, siendo en muchos casos innecesario elegir.
#27 A Matlab lo que le está pasando es un proceso de "unbundling": de pasar a ser una herramienta para todo lo que tuviese que ver con matemáticas y ordenadores (entre Matlab y SPSS estaban en su época 1992) y ahora se ve amenazado por los R y Python y con este último los Tensorflow, Keras, Scikits... además de Octave. Vaya, es una compañía que lo tiene que pelear ahora con los niveles de servicios y soporte a grandes grupos de investigación en empresas con la miríada de Toolboxes muy especializados que tienen, porque el mundo educativo me da que ya lo ha perdido.
#4
R es para estadística y data science.
Matlab es más para ingeniería.
Python es un lenguaje genérico pero tiene librerías muy populares para maschine learning y data science.

En cuanto a librerías R tiene un porrón para cualquier cosa imaginable, es rollo académico pero es un caos total.
Python tiene menos librerías pero suficientes para lo más popular, está más organizado, tiene más documentación y prácticamente todos los libros de maschine learning usan Python como lenguaje.

No conozco…   » ver todo el comentario
#4 más que Python, las librerías C C++ con interfaz para Python.
¿Han probado de ejecutar la misma aplicación en Octave a ver que tarda en cada uno de ellos?

Por curiosidad.
#9
Pues ya que sacas el tema, si octave se compila con MKL tambien debería tener una mejora de rendimiento.
github.com/NexMirror/Octave/blob/53bad7604f15491a7a22e1029bd21ec075000
Que holor a estafa...
#11o no te has leido el artículo o no lo has entendido
#35 Entiendo que iba por mí, que ya ni linkar comentarios sabemos...

Sí, me lo he leído, y precisamente por eso, no veo nada de miserable en él. Tú crees que hay una intencionalidad en rebajar el rendimiento, yo simplemente veo una despreocupación, no hay una implementación específica para rebajarlo, simplemente una falta de implementación para optimizarlo. Y eso se soluciona utilizando otras librerías.
#35 diría que se refiere al titular "El Matlab".
El Jonathan, la Jessy.
Vaya, seguro que ha sido mala suerte que esté mal optimizada para los Ryzen. Si es que la gente desconfía a la mínima...
Todavía hay gente que usa MATLAB?
Haceos un favor y pasad a Python, a menos que os guste el sado.
El MATLAB mejora en hasta un 300% en CPUs de el Ryzen de el AMD al hacerlas pasar como una CPU de el Intel
«12
comentarios cerrados

menéame