home.social

#licardcuba — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #licardcuba, aggregated by home.social.

  1. Charlas abiertas de HPC, Distribuídos y Arq: Ciclo 1: Compiladores

    Aula 1113, pabellón 0+infinito, Ciudad Universitaria, Buenos Aires, Argentina, jueves, 8 de octubre, 16:00 GMT-3

    Queremos invitarlos a participar de los Seminarios de Computación de Alto Desempeño, Sistemas Distribuidos y Arquitectura, un nuevo espacio de formación y discusión orientado a estudiantes avanzados de grado, tesistas y estudiantes de posgrado.

    La idea es generar un espacio horizontal de estudio e intercambio donde podamos abordar distintos temas relevantes dentro del gran área de la computación de alto desempeño (HPC) combinando encuentros introductorios, discusión de artículos científicos clásicos y recientes, presentaciones de trabajos de tesis e investigación, sesiones sobre herramientas y, cuando sea posible, reproducción de resultados.

    Los temas se van a organizar en pequeños ciclos de varios encuentros realizados semana por medio.

    Primer ciclo: COMPILADORES
    1. Compiladores en general
    2. Compiladores para HPC y Tensor Compilers
    3. Arquitecturas RISC-V, intrinsics y su relación con compiladores

    Encuentro 1: Introducción a compiladores
    ========================================
    En el primer encuentro vamos a introducirnos en el mundo de los general-purpose compilers. La idea principal es dejar de ver al compilador como caja negra. Queremos entender qué problemas resuelve y cómo funciona, cuál es el proceso que termina generando una ejecución eficiente de un programa en cualquier arquitectura.

    Entre los temas que vamos a discutir:
    * ¿Qué es un compilador y por qué existen distintos compiladores?
    * Código compilado vs. interpretado.
    * Diferencias entre lenguajes y concepto de DSL (Domain-Specific Language).
    * Pipeline clásico de compilación: lexer, parser, optimizaciones y code generation.
    * Representaciones intermedias.
    * AST (Abstract Syntax Tree) y distintas representaciones de un programa.
    * Optimizaciones en el middle end.
    * Introducción a LLVM.
    * Optimizaciones y transformaciones relacionadas con generación de código y performance: paralelización, loop unrolling, inlining, entre otras.

    No es necesario tener conocimientos previos de compiladores. El objetivo del primer encuentro es construir una base común para poder avanzar luego hacia compiladores orientados a HPC y arquitecturas específicas.

    Referencias:
    * Aho, Lam, Sethi & Ullman — Compilers: Principles, Techniques, and Tools (“Dragon Book”). Secciones 1.2, 1.4 y 8.1.
    * LLVM Documentation: https://llvm.org/docs/
    * LLVM Tutorial: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html (capítulos 1–4)
    * Compiler Explorer: https://godbolt.org/

    Saludos,
    LICAR PhD team

    cartelera.inexactas.ar/event/c

Share on Mastodon

Enter the server where you have an account.