Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques | IEEE Journals & Magazine | IEEE Xplore