Es totalmente incorrecto decir que un desarrollador de software piensa en forma exclusivamente secuencial, ya que demasiadas aplicaciones de software, ya sea de cómputo científico, gestión de información o business intelligence, requieren procesamiento paralelo. Algunas de las tareas que realizan los desarrolladores de software paralelo son: creación y administración de procesos que se ejecutan concurrentemente en múltiples cores (OpenMP), creación y administración de hilos de granularidad más fina (Pthreads), creación de procesos remotos y su comunicación a través de protocolos como MPI (clustering), gestión de objetos distribuidos que trabajan en forma paralela en diferentes sistemas, gestión de recursos compartidos por varios procesos (memoria, dispositivos), etc. Los ingenieros de software deben tener en cuenta varios fenómenos que ocurren durante el desarrollo de aplicaciones paralelas y concurrentes, como "race conditions" o "deadlocks", entre otros. Además, los desarrolladores de software más diestros conocen las optimizaciones que ofrecen las microarquitecturas de los CPUs, tales como paralelismo a nivel de instrucción (pipelining, superscalar, ejecución fuera de orden), varios cores de procesamiento por socket y varios hilos por core. Existen varios desarrolladores hardware-friendly que cuentan no sólo con experiencia en lenguajes como C#, Swift o Java, sino también en lenguaje ensamblador para diferentes ISAs (sí, aun se utiliza) y que tienen conocimientos básicos de lenguajes de descripción de hardware y de diseño en FPGAs.
👍
👍🏽
I realize it's quite randomly asking but do anybody know of a good website to stream new tv shows online ?
@Braylen Mateo flixportal xD
@Lucas Abraham thank you, I signed up and it seems like a nice service :) Appreciate it!
@Braylen Mateo Happy to help :D
Que FPGA de intel seria bueno comenzar y que precios tienen?
Es totalmente incorrecto decir que un desarrollador de software piensa en forma exclusivamente secuencial, ya que demasiadas aplicaciones de software, ya sea de cómputo científico, gestión de información o business intelligence, requieren procesamiento paralelo. Algunas de las tareas que realizan los desarrolladores de software paralelo son: creación y administración de procesos que se ejecutan concurrentemente en múltiples cores (OpenMP), creación y administración de hilos de granularidad más fina (Pthreads), creación de procesos remotos y su comunicación a través de protocolos como MPI (clustering), gestión de objetos distribuidos que trabajan en forma paralela en diferentes sistemas, gestión de recursos compartidos por varios procesos (memoria, dispositivos), etc. Los ingenieros de software deben tener en cuenta varios fenómenos que ocurren durante el desarrollo de aplicaciones paralelas y concurrentes, como "race conditions" o "deadlocks", entre otros. Además, los desarrolladores de software más diestros conocen las optimizaciones que ofrecen las microarquitecturas de los CPUs, tales como paralelismo a nivel de instrucción (pipelining, superscalar, ejecución fuera de orden), varios cores de procesamiento por socket y varios hilos por core. Existen varios desarrolladores hardware-friendly que cuentan no sólo con experiencia en lenguajes como C#, Swift o Java, sino también en lenguaje ensamblador para diferentes ISAs (sí, aun se utiliza) y que tienen conocimientos básicos de lenguajes de descripción de hardware y de diseño en FPGAs.