Co-Design Projects
The co-design pillar aims at bringing together the development of scientific models, application codes, as well as the numerical and system software environment needed in order to optimally exploit emerging supercomputing computing platforms for high-end simulations of the future. These will have tens of thousands of nodes interconnected by advanced high-performance networks. Nodes will likely have heterogeneous memory (e.g. traditional low latency RAM, graphic memory that support very high memory bandwidth, non-volatile on-node storage, etc.) with deep hierarchies, as well as multiple functional units (e.g. latency optimized cores with high single thread performance, throughput optimized processors with many and very large SIMT or SIMD units, etc.), in order to support heterogeneous workloads. New storage and I/O systems might emerge that support data streams and in-situ data analysis.
Co-design projects address one or more of the following priorities for optimal exploitation of CSCS’ new and emerging supercomputing platforms:
- Refactoring of key application codes that have significant impact on CSCS’ user program and re-engineering of their algorithms.
- Development of numerical libraries and their integration into application codes.
- Incorporations of innovative sub-systems (e.g. I/O, data streams, etc.) into existing simulation codes in order to support novel workflows needed for future high-end simulations.
- Development of programming environments or components thereof, performance tuning and analysis/monitoring tools.
Project teams are interdisciplinary, consisting of researchers from application domains, computational science and applied mathematics, and computer science.