  The electrical and electronic engineering has used parallel programming to
solve its large scale complex problems for performance reasons. However, as
parallel programming requires a non-trivial distribution of tasks and data,
developers find it hard to implement their applications effectively. Thus, in
order to reduce design complexity, we propose an approach to generate code for
hybrid architectures (e.g. CPU + GPU) using OpenCL, an open standard for
parallel programming of heterogeneous systems. This approach is based on Model
Driven Engineering (MDE) and the MARTE profile, standard proposed by Object
Management Group (OMG). The aim is to provide resources to non-specialists in
parallel programming to implement their applications. Moreover, thanks to model
reuse capacity, we can add/change functionalities or the target architecture.
Consequently, this approach helps industries to achieve their time-to-market
constraints and confirms by experimental tests, performance improvements using
multi-GPU environments.
