We extend recent 256 SSE vector work to 512 AVX giving a four fold speedup. We use MAGPIE (Machine Automated General Performance Improvement via Evolution of software) to speedup a C++ linear genetic programming interpreter. Local search is provided with three alternative hand optimised codes, revision history and the Intel 512 bit AVX512VL documentation as C++ XML. Magpie is applied to the new Single Instruction Multiple Data (SIMD) parallel interpreter for Peter Nordin's linear genetic programming GPengine. Linux mprotect sandboxes whilst performance is given by perf instruction count. In both cases, in a matter of hours local search reliably sped up 114 or 310 lines of manually written parallel SIMD code for the Intel Advanced Vector Extensions (AVX) by 2 percent.
翻译:我们将近期基于256位SSE向量的研究扩展至512位AVX,实现了四倍加速。利用MAGPIE(通过软件进化的机器自动化通用性能改进)技术,对C++线性遗传编程解释器进行加速。局部搜索基于三种替代性手动优化代码、版本历史记录以及以C++ XML格式呈现的Intel 512位AVX512VL技术文档。将Magpie应用于Peter Nordin线性遗传编程GPengine的新型单指令多数据(SIMD)并行解释器。通过Linux mprotect实现沙箱隔离,性能数据由perf指令计数提供。在两种实验场景中,局部搜索均在数小时内可靠地将手动编写的Intel高级向量扩展(AVX)并行SIMD代码(114行或310行)提速2%。