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

  • 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

  • Message Passing Interface (MPI)

    Research and development on all aspects related with the Message Passing Interface programming model.

    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

  • 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