Programming Models

  • Application optimization for GPU acceleration

    As part of driving the BSC/UPC NVIDIA GPU Center of Excellence, we provide GPU Computing optimization/development services to the BSC community. We are involved in developing /optimizing GPU acceleration in a variety of projects from different departments at BSC.

    Read More

  • Cyber-Physical Computing Systems

    Cyber-Physical Systems are getting spread, as more and more devices are connected to the Internet. From TV streaming to alarm control, and from automatic delivery of home supplies to video processing, there are a lot of services that demand a connection to the Internet.

    Read More

  • Data Placement for Heterogeneous Memory Systems

    Although the exact approach to efficiently exploit heterogeneous memory systems is still uncertain, a software ecosystem clearly is required in order to assist in an efficient data distribution. We address this problem at the memory object granularity.

    Read More

  • DLB: Dynamic Load Balancing

    Load imbalance is a source of performance loss in HPC systems and applications. We have seen that the problem, far from being solved, worsens with the growth of the systems. Our proposal is a dynamic solution to adapt the execution at runtime.  

    Read More

  • Domain Specific Languages

    Domain Specific Languages (DSLs) are a promising approach to hide the complexity of HPC systems, apply domain specific optimizations and boost programmer’s productivity. In this research line we investigate how to develop DSLs that can leverage well know HPC technologies such as MPI or OmpSs.

    Read More

  • Dynamic resource management in HPC

    Dynamic resource allocation and scheduling is key for an optimal resource utilization. In this research line we target system software for a smart allocation taking into consideration application characteristics for MPI+OpenMP applications. 

    Read More

  • Generic Lightweight Threads

    We have designed Generic Lightweight Thread (GLT), an application programming interface that frames the functionality of the most popular LWT libraries for high-performance computing under a single programming model.  

    Read More

  • High Programming Productivity for Accelerators

    Our main goal is to turn upcoming overwhelmingly-heterogeneous exascale supercomputers into manageable platforms for domain application developers.

    Read More

  • Linear Algebra and Math Libraries

    Linear Algebra and mathematical libraries are at the bottom of many widely used scientific and engineering applications. For that reason, finding new ways to improve the performance of these kernels and libraries is essential in order to ensure the performance of the applications built on the top of them.

    Read More

  • Message Passing Interface (MPI)

    Research and development on all aspects related with the Message Passing Interface programming model. Currently our research is focused toward offloading possibilities to compute-in-network resources.

    Read More

  • OpenMP Extensions

    The Programming Models team at BSC contributes to the OpenMP standard through its participation on the OpenMP ARB and Language committees and the different subcommittees (tasking, affinity, FORTRAN...).

    Read More

  • Predictable Parallel Computing

    The Predictable Parallel Computing group focus is the development of systems that consider HPC qualities such as performance and scalability, and embedded systems qualities as well, such as reliability and time predictability.

    Read More

  • The OmpSs Programming Model

    OmpSs is an effort to integrate features from the StarSs programming model developed by BSC into a single programming model, including support for asynchronous parallelism and heterogeneity on devices like GPUs and FPGAs.

    Read More

  • Time-predictable parallel programming models

    To exploit the computation capabilities of next-generation many-core embedded architectures, it is mandatory to tame the complexity of parallel programming, exacerbated by the cyber-physical interactions of embedded systems that imposes extra non-functional constraints such as time-predictability.

    Read More