TY - GEN
T1 - Performance optimization of multi-core grammatical evolution generated parallel recursive programs
AU - Chennupati, Gopinath
AU - Azad, R. Muhammad Atif
AU - Ryan, Conor
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/7/11
Y1 - 2015/7/11
N2 - Although Evolutionary Computation (EC) has been used with considerable success to evolve computer programs, the majority of this work has targeted the production of serial code. Recent work with Grammatical Evolution (GE) produced Multi-core Grammatical Evolution (MCGE-II), a system that natively produces parallel code, including the ability to execute recursive calls in parallel. This paper extends this work by including practical constraints into the grammars and fitness functions, such as increased control over the level of parallelism for each individual. These changes execute the best-of-generation programs faster than the original MCGE-II with an average factor of 8.13 across a selection of hard problems from the literature. We analyze the time complexity of these programs and identify avoiding excessive parallelism as a key for further performance scaling. We amend the grammars to evolve a mix of serial and parallel code, which spawns only as many threads as is efficient given the underlying OS and hardware; this speeds up execution by a factor of 9.97.
AB - Although Evolutionary Computation (EC) has been used with considerable success to evolve computer programs, the majority of this work has targeted the production of serial code. Recent work with Grammatical Evolution (GE) produced Multi-core Grammatical Evolution (MCGE-II), a system that natively produces parallel code, including the ability to execute recursive calls in parallel. This paper extends this work by including practical constraints into the grammars and fitness functions, such as increased control over the level of parallelism for each individual. These changes execute the best-of-generation programs faster than the original MCGE-II with an average factor of 8.13 across a selection of hard problems from the literature. We analyze the time complexity of these programs and identify avoiding excessive parallelism as a key for further performance scaling. We amend the grammars to evolve a mix of serial and parallel code, which spawns only as many threads as is efficient given the underlying OS and hardware; this speeds up execution by a factor of 9.97.
KW - Automatic parallel programming
KW - Grammatical Evolution
KW - Multi-cores
KW - Openmp
KW - Symbolic regression
UR - http://www.scopus.com/inward/record.url?scp=84963682476&partnerID=8YFLogxK
U2 - 10.1145/2739480.2754746
DO - 10.1145/2739480.2754746
M3 - Conference contribution
AN - SCOPUS:84963682476
T3 - GECCO 2015 - Proceedings of the 2015 Genetic and Evolutionary Computation Conference
SP - 1007
EP - 1014
BT - GECCO 2015 - Proceedings of the 2015 Genetic and Evolutionary Computation Conference
A2 - Silva, Sara
PB - Association for Computing Machinery, Inc
T2 - 16th Genetic and Evolutionary Computation Conference, GECCO 2015
Y2 - 11 July 2015 through 15 July 2015
ER -