Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Current »



IncrediBuild Linux provides you with two samples of build projects. These sample builds are designed to help you learn how to use IncrediBuild Linux, and to test its acceleration capabilities.

Exploring the Sample Build Projects

The Installer file of IncrediBuild Linux includes the two sample projects. They are located at: /opt/incredibuild/samples/

IncrediBuild Linux samples includes the following:

  1. Sample build for Make - this sample demonstrates the distribution of GCC processes using Make.
    Location: /opt/incredibuild/samples/make_build/

  2. Sample Custom build - this sample demonstrates the distribution of custom processes by configuring an ib_profile.xml file to run them remotely.
    Location: /opt/incredibuild/samples/custom_execution/ 

Executing the Sample Builds

Sample Build for Make

The sample build for Make demonstrates how to execute builds that are run by Make with IncrediBuild Linux.

In Make, the -j command option indicates the maximum number of processes that Make will execute in parallel. Usually this command option corresponds with the number of CPU cores on the machine where the build occurs. With IncrediBuild, since you can use the remote CPU cores of your entire IncrediBuild Environment, you should set a high value to the -j command option, to execute in parallel as many processes as possible.

Other build tools may have a different command option for multiprocessing execution, or they may require changes in specific configuration files to allow multiprocessing execution. 

> To execute the sample build for Make:

  1. In the terminal, go to the directory of the sample Make build at:
    /opt/incredibuild/samples/make_build/

  2. In the build directory, enter:

    ib_console make -j <Number_of_Processes_to_Run_in_Parallel>

    Note: The -j value should be much higher than the number of local cores, to ensure that tasks are distributed to the remote Helper machines in your IncrediBuild Environment. If there is more than one -j option, the last one is used.

    For example:

    ib_console make -j 100

Sample Custom Build

The sample Custom build demonstrate how to configure custom processes to be distributed across available cores in IncrediBuild Environment, by adding their setting into an ib_profile.xml file.

The sample Custom build includes a custom build tool - "ib_test_invoker". This custom tool executes a custom process - "sleep".

The default ib_profile.xml file does not include a custom process called "sleep". Therefore, this custom process should be added to another ib_profile.xml file, which will be saved at a different location - either at the project, home, or machine level. In the new ib_profile.xml file, the "sleep" process should be defined as "allow remote", which means that the process can be executed by the cores of both local and remote machines.

The sample Custom build already includes a customized ib_profile.xml file, located at: /opt/incredibuild/samples/custom_execution. This customized file contains the "sleep" custom process, and defines it as "allow remote":

<processes>
       <process filename="sleep" type="allow_remote"/>
 </processes>

The "allow remote" setting allows the customized process to be distributed across all available cores in IncrediBuild Environment, either local or remote.   

Note: By default, if a custom tool is not specified in the ib_profile.xml file, it will be handled as "Intercepted". If a custom process is not specified in the ib_profile.xml file, it will be handled as “local_only”.

To run the ib_test_invoker custom tool, you need to specify the number of processes to execute and their duration.

> To execute the sample Custom build:

  1. In the terminal, go to the directory of the sample Custom build at:
    /opt/incredibuild/samples/custom_execution/ 

  2. In the build directory, enter:

    ib_console ./ib_test_invoker <Number_of_Processes> <Duration_of_Each_Process_in_Seconds>

    - Number of Processes – the number of "sleep" processes that will run once the build is executed.
    - Duration of Each Process in Seconds - the amount of time of each process execution.

    For example, to execute 20 processes that will run for 30 seconds each, the following command is entered:

    ib_console ./ib_test_invoker 20 30





  • No labels