  Many-core co-design is a complex task in which application complexity design
space, heterogeneous many-core architecture design space, parallel programming
language design space, simulator design space and optimizer design space should
get integrated through a binding process and these design spaces, an ensemble
of what is called many-core co-design spaces. It is indispensable to build a
co-design automation process to dominate over the co-design complexity to cut
down the turnaround time. The co-design automation is frame worked to
comprehend the dependencies across the many-core co-design spaces and devise
the logic behind these interdependencies using a set of algorithms. The
software modules of these algorithms and the rest from the many-core co-design
spaces interact to crop up the power-performance optimized heterogeneous
many-core architecture specific for the simultaneous execution of co
applications without space-time sharing. It is essential that such co-design
automation has a built-in user-customizable workload generator to benchmark the
emerging many-core architecture. This customizability benefits the generation
of complex workloads with the desired computation complexity, communication
complexity, control flow complexity, and locality of reference, specified under
a distribution and established on quantitative models. In addition, the
customizable workload model aids the generation of what is called computational
and communication surges. None of the current day benchmark suites encompasses
applications and kernels that can match the attributes of customizable workload
model proposed in this paper. Aforementioned concepts are exemplified in, the
case study supported by simulation results gathered from the simulator.
