Manycore is a main issue for industrials. For industrials, programmability means: time to market by reducing software development costs thanks to reuse of legacy software. But what about manycores? What about homogeneous manycores? What about heterogeneous manycores
Industrials think it is not necessary to bring complex architecture that are not programmable. They want to keep development as simple as possible. Performance is not coming from frequency anymore, but who cares? It must be kept as easy as possible.
Some examples : The Tilera processor: 100 cores. Already a manycore! 40nm, 1.5GHz, 55W, C/C++ Can be programmed through C and C++ thanks to an IDE (Integrated Development Environment)MDE (multicore development environment) based on a SMP (symetric multiprocessor) Bare Metal Environment Standard Debugging Tools (gdb 7) --- Fermi from Nvidia 512 cores organised in 16 Streaming Multiprocessor Programmability: CUDA parallel programming model: multi-threading Programming languages: C/C++, openCL, … --- MPPA from Kalray: 256 cores organised in 16 clusters Programmability: specific data flow language: sigmaC Tools to automatically map the application --- These homogeneous chips are “easy” to program and offers tools to help programmers to fine tune. But the tools are only giving performance for static applications.
An application is a set of cluster groups. The behaviour of the cluster groups is defined at the runtime. The behaviour of the cluster is defined at compiled time.
A complete platform to ensure programming efficiency and self adaptive behaviour
Reconfigurable 3D MultiCore Concept by Prof. Michael Hübner @ ARC 2013
Research & Technology
Michael Hübner, ARC 2013
Project coordinator: THALES
Funding budget: 3,670,000€
Starting date: 15/10/2011
Duration: 36 months
FlexTiles: Reconfigurable Multicore