logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

allpairs_multicore - executes All-Pairs workflow in parallel on a multicore machine

Description

allpairs_multicore  computes the Cartesian product of two sets (<setA>and<setB>),generatingamatrixwhereeachcellM[i,j]containstheoutputofthefunctionF(<comparefunction>)onobjectsA[i](anitemin<setA>)andB[j](anitemin<setB>).Theresultingmatrixisdisplayedonthestandardoutput,onecomparisonresultperlinealongwiththeassociatedXandYindices.

       For  large  sets  of  objects,  allpairs_multicore will use as many cores as you have available, and will
       carefully manage virtual memory to exploit locality and avoid thrashing. Because of this, you  should  be
       prepared  for  the  results  to come back in any order. If you want to further exploit the parallelism of
       executing All-Pairs workflows on multiple (multicore) machines, please refer  to  the  allpairs_master(1)
       utility.

Examples

       Let's  suppose  you  have a whole lot of files that you want to compare all to each other, named a, b, c,
       and so on. Suppose that you also have a program named compareit) that when invoked as compareit a b  will
       compare files a and b and produce some output summarizing the difference between the two, like this:

                a b are 45 percent similar

       To use the allpairs framework, create a file called set.list that lists each of your files, one per line:

                a
                b
                c
                ...

       Then, invoke allpairs_multicore like this:

                % allpairs_multicore set.list set.list compareit

       The  framework  will  carry out all possible comparisons of the objects, and print the results one by one
       (note that the first two columns are X and Y indices in the resulting matrix):

                1    1    a a are 100 percent similar
                1    2    a b are 45 percent similar
                1    3    a c are 37 percent similar
                ...

Exit Status

       On success, returns zero.  On failure, returns non-zero.

Name

allpairs_multicore - executes All-Pairs workflow in parallel on a multicore machine

Options

-b,--block-size=<items>
              Block size: number of items to hold in memory at once. (default: 50% of RAM)

        -c,--cores=<cores>
              Number of cores to be used. (default: # of cores in machine)

        -e,--extra-args=<args>
              Extra arguments to pass to the comparison program.

        -d,--debug=<flag>
              Enable debugging for this subsystem.

        -v,--version
              Show program version.

        -h,--help
              Display this message.

See Also

       •   The Cooperative Computing Tools ("http://ccl.cse.nd.edu/software/manuals")

       •   All-Pairs User Manual ("http://ccl.cse.nd.edu/software/manuals/allpairs.html")

       •   allpairs_master(1)

CCTools 7.14.5 FINAL                                                                       allpairs_multicore(1)

Synopsis

       allparis_multicore [options] <setA><setB><comparefunction>

See Also