Exascale-ready distributed and accelerated dense Numerical Linear Algebra (ExaNLA)

Europe/Berlin
Rotunda, Building 16.4 (Juelich Supercomputing Center)

Rotunda, Building 16.4

Juelich Supercomputing Center

Wilhelm Johnen strasse 52425 Juelich Germany
Edoardo Di Napoli (Forschungszentrum Juelich -- JSC), Xinzhe Wu (Forschungszentrum Juelich -- JSC)
Description

ExaNLA is a hands-on workshop named after a project aiming at creating a numerical linear algebra library for selected kernels capable of executing at scale on JUPITER and similarly massively parallel accelerated architectures.

Website

ExaNLA workshop page

PROGRAM
The objective of such workshop is multifold:

  1. Engage with the Community of Expert Users: Conduct an in-depth consultation process with domain experts to identify the essential core functionalities required by application codes, ensuring that the ExaNLA library meets the most pressing needs of its primary users.
  2. Initiate Brainstorming Sessions: Begin a series of collaborative discussions to address the needs and challenges in developing the new ExaNLA library.
    • Programming Languages: Evaluate the suitability of different programming languages for developing a high-performance and scalable ExaNLA library.
    • Parallel Programming Models: Explore various parallel programming models that can optimize the library’s performance on modern architectures.
    • Interfaces: Consider user-friendly and versatile interfaces that facilitate easy integration with existing applications and workflows.
    • Templating: Discuss the use of templating to enhance code reuse, flexibility, and maintainability, allowing for easier adaptation to different computational environments and various range of accuracy. 
    • Fault Tolerance: Design and develop an efficient fault tolerance middleware for the ExaNLA library, and explore options for integrating a checkpointing mechanism into it.
  3. Designing for Performance and Adaptability: Explore the feasibility of incorporating automatic mechanisms within the library to enhance performance and adaptability.
    • Automatic Symmetry Discovery and Algorithm Selection: Implement features that can automatically detect symmetries in matrices and select the most appropriate algorithms, optimizing computational efficiency. 
    • AI-Driven Optimization: Utilize AI techniques to optimize and select platform-specific kernels dynamically, ensuring that the library can leverage the best available hardware resources.
  4. Establish a Robust RSE Framework: Set up a research software engineering (RSE) framework based on Agile methodologies to ensure a streamlined and efficient development process. This framework incorporates: 
    • Continuous Integration (CI): Regularly integrate code changes to maintain software stability and identify issues early.
    • Continuous Development (CD): Enable ongoing software enhancements and feature additions.
    • Continuous Benchmarking (CB): Implement a process for regular performance testing to ensure the library meets its speed and scalability targets. 
    • Test Driven Development (TDD): Adopt a TDD approach to ensure code reliability and robustness, with tests guiding development from the outset.

  5. Application-driven benchmarking: Perpetual execution of application-driven benchmarks, including comparison against evolving existing libraries.

PARTICIPATION
Attendance to the event is by invitation only. The registration is moderated and it will be confirmed shortly after submission. It is expected to have participants from several disciplines spanning from application fields (e.g., physics, engineering, chemistry), to computer scientists, parallel programming experts, applied mathematicians and software engineers.

Registration
ExaNLA workshop registration
Participants
  • Alfredo Buttari
  • Fabio Affinito
  • Jose E. Roman
  • Paolo Bientinesi
  • Tommaso Benacchio
  • Volker Blum
  • +1
    • 08:30 09:00
      Registration and welcome
    • 09:00 10:30
      Application-driven functionalities: Survey of functionalities

      In depth brainstorming and consultation process to determine the most prominent functionalities needed by the communities of users and developers of application codes

    • 10:30 11:00
      Coffee/Tea break 30m
    • 11:00 12:30
      Application-driven functionalities: Selection of kernels

      In depth brainstorming and consultation process to determine the most prominent functionalities needed by the communities of users and developers of application codes

    • 12:30 13:30
      Lunch break 1h
    • 13:30 15:00
      Technical brainstorming sessions: Programming language
    • 15:00 15:30
      Coffe/tea break 30m
    • 15:30 17:00
      Technical brainstorming sessions: Parallel programming models
    • 09:00 10:30
      Technical brainstorming sessions: Interfaces and templating
    • 10:30 11:00
      Coffee/Tea break 30m
    • 11:00 12:30
      Technical brainstorming sessions: Fault tolerance
    • 12:30 13:30
      Lunch break 1h
    • 13:30 15:00
      Designing for performance and adaptability: Automatic symmetry discovery and algorithm selection
    • 15:00 15:30
      Coffe/tea break 30m
    • 15:30 17:00
      Designing for performance and adaptability: Architecture-driven optimizations
    • 19:00 21:00
      Social event: Social Dinner

      Dinner at a nearby Restaurant

    • 09:00 10:30
      Software development and benchmarking: CI/CD and Test-driven Development
    • 10:30 11:00
      Coffe/tea break 30m
    • 11:00 12:30
      Software development and benchmarking: Continuous and application-driven benchmarking
    • 12:30 13:30
      Lunch break 1h
    • 13:30 14:00
      Registration and welcome: Farewell