Most Genetic Programming implementations use an interpreter to execute an individual, in order to obtain its outcome. Usually, such interpreter is the main bottleneck of the algorithm, since a single individual may contain thousands of instructions that must be executed on a dataset made of a large number of samples. Although one can use SIMD (Single Instruction Multiple Data) intrinsics to execute a single instruction on a few samples at the same time, multiple passes on the dataset are necessary to calculate the result. To speed up the process, we propose using MIMD (Multiple Instruction Multiple Data) instruction sets. This way, in a single pass one can execute several instructions on the dataset. We employ AVX2 intrinsics to improve the performance even further, reaching a median peak of 7.5 billion genetic programming operations per second in a single CPU core.

A MIMD Interpreter for Genetic Programming / Veloso de Melo, Vinicius; Fazenda, Alvaro Luis; Dal Piccol Sotto, Léo Françoso; Iacca, Giovanni. - 12104:(2020), pp. 645-658. (Intervento presentato al convegno EvoApplications 2020, held as part of EvoStar 2020 tenutosi a Sevilla nel 15th-17th April 2020) [10.1007/978-3-030-43722-0_41].

A MIMD Interpreter for Genetic Programming

Iacca, Giovanni
2020-01-01

Abstract

Most Genetic Programming implementations use an interpreter to execute an individual, in order to obtain its outcome. Usually, such interpreter is the main bottleneck of the algorithm, since a single individual may contain thousands of instructions that must be executed on a dataset made of a large number of samples. Although one can use SIMD (Single Instruction Multiple Data) intrinsics to execute a single instruction on a few samples at the same time, multiple passes on the dataset are necessary to calculate the result. To speed up the process, we propose using MIMD (Multiple Instruction Multiple Data) instruction sets. This way, in a single pass one can execute several instructions on the dataset. We employ AVX2 intrinsics to improve the performance even further, reaching a median peak of 7.5 billion genetic programming operations per second in a single CPU core.
2020
Applications of Evolutionary Computation: 23rd European Conference, EvoApplications 2020, Held as Part of EvoStar 2020: Proceedings
Cham, CH
Springer
978-3-030-43721-3
978-3-030-43722-0
Veloso de Melo, Vinicius; Fazenda, Alvaro Luis; Dal Piccol Sotto, Léo Françoso; Iacca, Giovanni
A MIMD Interpreter for Genetic Programming / Veloso de Melo, Vinicius; Fazenda, Alvaro Luis; Dal Piccol Sotto, Léo Françoso; Iacca, Giovanni. - 12104:(2020), pp. 645-658. (Intervento presentato al convegno EvoApplications 2020, held as part of EvoStar 2020 tenutosi a Sevilla nel 15th-17th April 2020) [10.1007/978-3-030-43722-0_41].
File in questo prodotto:
File Dimensione Formato  
A_MIMD_interpreter_for_Genetic_Programming.pdf

Open Access dal 02/01/2022

Tipologia: Post-print referato (Refereed author’s manuscript)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 622.43 kB
Formato Adobe PDF
622.43 kB Adobe PDF Visualizza/Apri
Melo2020_Chapter_AMIMDInterpreterForGeneticProg.pdf

Solo gestori archivio

Tipologia: Versione editoriale (Publisher’s layout)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.41 MB
Formato Adobe PDF
1.41 MB Adobe PDF   Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/273444
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 4
  • ???jsp.display-item.citation.isi??? 2
social impact