Skip to content

oliver-krauss/Replication_GI_Division_Free_Division

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Replication Package - Genetic Improvement of Data Gives Division free Division

This is the replication package for Genetic Improvement of Data gives Division free Division (author copy - GI_Data_Gives_Divsion_Free_Division.pdf).

The package contains the source code as described in section IV of the publication and aims to enable the reproduction of section IV b - Automatic changes to data table using CMA-ES and section IV c - Testing the evolved drcp function.

Content of the Repository

  • Publication.pdf author copy of the submission
  • gi_cbrt.tar.gz contains the source code the paper was written on, as described in Section IV Evolving DRCP From Free GNU PowerPC SQRT
  • dependencies contains libraries needed for replication
  • scripts contains various scripts that are supposed to make the replication easier for the user. If there are issues with them, please consult the README.txt in gi_cbrt.tar.gz, the scripts themselves (maybe you are missing packages on linux), or open an issue in
  • results contains logs of the executions the publication was based on

Preconditions

  • Linux OS - As this work depends on glibc.
  • Installation of the following linux packages (intentionally not provided as script, as it would have to be run with root privileges):
    • gunzip sudo apt-get install gzip
    • tar sudo apt-get install tar
    • csh sudo apt-get install csh
    • sed sudo apt-get install sed

Replication

Replicate using the following steps:

  • (optional) scripts you may need to make scripts executable with chmod +x *.sh
  • unpack.sh will unpack to an execution folder (warning execution folder WILL be deleted by unpack), and build glibc
  • replicate.sh runs the compilation, CMA-ES execution, and tests of the lookup table
    • replicate per default replicates divide you can also replicate other functions by adding an optional parameter
    • crbt replicates cube root
    • divide replicates division
    • invsqrt replicates root^-1, and also the quake invsqrt comparison
    • log2 replicates log2
  • replicate_all.sh will replicate everything and copy the results to different subfolders (results_function)
  • You'll know if the replication succeeded when the folder "replication_results" is created and contains:
    • the generated lookup table (t_cbrt.c)
    • the outputs of the test scripts (*.out)

Performance testing

Additional preconditions

  • Installation of the following linux packages (intentionally not provided as script, as it would have to be run with root privileges):
    • rcs sudo apt-get install rcs

Conducting performance test

Test (not replicate due to different hardware!) using the following steps:

  • performance.sh executes the benchmark
  • You'll know if the benchmakr succeeded when the folder "performance_results" is created and contains:
    • The outputs of the tests (*.out)
    • benchmarking info of your pc (system_info.txt)

Cite this Package

Releases of this package are assigned a DOI by Zenodo: DOI

About

Replication Package for "Evolving sqrt into 1/x via Software Data Maintenance" GI@GECCO 2020

Resources

Stars

Watchers

Forks

Packages

No packages published