Skip to content

oliver-krauss/Replication_GI_Division_Free_Division

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

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