Difference: SpeculativeParallelism (1 vs. 3)

Revision 32009-04-09 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="CompilerRepository"
Added:
>
>
Note to new users of BOP
 
Changed:
<
<
-- KirkKelsey - 15 Jan 2008
>
>
The easiest way is to have a guest account on our system, check out bop module using subversion, try the add test by compiling it using command "make add" at the top level. Run the compiler on a 32-bit machine, e.g. cycle1. Then you can run the parallel add, add/bop_output/add_par, on the 8-CPU machine, node4x2a.

To add 100 million numbers in 4 blocks, use "add_par 4 100."

The speculation is controlled in two ways. The first is through
direct calls inside the application program. The calls are:

BOP_SetSpecDepth (as before)
Set_BatchBOP()
Set_RotatingBOP()

The depth and type can also be controlled through environment
variables: BOP_SpecDepth and BOP_Type. BOP_Type can be either
BatchBOP or RotatingBOP. The second option permits changing
speculation parameters without recompiling an application.

For example, in c-shell, the command

setenv BOP_SpecDepth 5

 
Changed:
<
<
Speculative Parallelism code (both "BOP" and "FastTrack") is in the subversion repository file:///p/compiler/repos/bop/trunk Both tools currently use our modified version of gcc 4.0.1. In addition to the runtime libraries (located in the INST directory) the repository contains a number of test programs.
>
>
will tell the run-time system to use 6 processors in the parallel

execution.

The new version reports more information at the end of an execution.
Below is an example output to the screen:

runTime=19.089694, numSpecWins=4 numUndyWins=1 numMain=1
sizePutLNC=1 sizeMalloc=0 sizeUnmonitored=0 sizePushed=0 specDepth=2 specType=2 (1 is BatchBOP, 2 is RotatingBOP)

The same information is written to a file named
"bop_test_results.txt". The above execution appends the following
line:

BOPStats: 19.089694 4 1 1 1 0 0 0 2 2

The file serves as a record of past executions.

-- KirkKelsey - 15 Jan 2008

 
Added:
>
>
Speculative Parallelism code (both "BOP" and "FastTrack") is in the subversion repository file:///p/compiler/repos/bop/trunk Both tools currently use our modified version of gcc 4.0.1. In addition to the runtime libraries (located in the INST directory) the repository contains a number of test programs.
  -- ChenDing - 15 Jan 2008

The file inst.c has been augmented to support BOP on MacBook Pro running Mac OS X 10.5. The changes are:

Changed:
<
<
Re-implemented WRITEOPT macro based on Xipeng's original version. To find the proper field names I used gcc -E -c inst.c to see the exact definitions, for example, __err.
>
>
Re-implemented WRITEOPT macro based on Xipeng's original version. To find the proper field names I used gcc -E -c inst.c to see the exact definitions, for example, __err.
  MAP_ANONYMOUS in Linux is MAP_ANON on Mac.
Changed:
<
<
The changes are wrapped around by #if defined(__MACH__) ... #else /* Linux*/ ... #endif. __MACH__ seems defined by default on my machine.
>
>
The changes are wrapped around by #if defined(MACH) ... #else /* Linux*/ ... #endi f. MACH seems defined by default on my machine.
 
Changed:
<
<
Last but very important, SIGSEGV on Linux is SIGBUS on Mac. I used SIG_MEMORY_FAULT and defined it differently based on __MACH__.
>
>
Last but very important, SIGSEGV on Linux is SIGBUS on Mac. I used SIG_MEMORY_FAULT a nd defined it differently based on MACH.
 
Changed:
<
<
The assembler currently makes benigh complaints about indirect jump missing *, which can be ignored.
>
>
The assembler currently makes benigh complaints about indirect jump missing *, which c an be ignored.
  The bop port is tested for the add program and works with no visible problems.

Revision 22008-01-15 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="CompilerRepository"
Deleted:
<
<
 -- KirkKelsey - 15 Jan 2008

Speculative Parallelism code (both "BOP" and "FastTrack") is in the subversion repository file:///p/compiler/repos/bop/trunk

Line: 8 to 6
 Speculative Parallelism code (both "BOP" and "FastTrack") is in the subversion repository file:///p/compiler/repos/bop/trunk Both tools currently use our modified version of gcc 4.0.1. In addition to the runtime libraries (located in the INST directory) the repository contains a number of test programs.
Added:
>
>

-- ChenDing - 15 Jan 2008

The file inst.c has been augmented to support BOP on MacBook Pro running Mac OS X 10.5. The changes are:

Re-implemented WRITEOPT macro based on Xipeng's original version. To find the proper field names I used gcc -E -c inst.c to see the exact definitions, for example, __err.

MAP_ANONYMOUS in Linux is MAP_ANON on Mac.

The changes are wrapped around by #if defined(__MACH__) ... #else /* Linux*/ ... #endif. __MACH__ seems defined by default on my machine.

Last but very important, SIGSEGV on Linux is SIGBUS on Mac. I used SIG_MEMORY_FAULT and defined it differently based on __MACH__.

The assembler currently makes benigh complaints about indirect jump missing *, which can be ignored.

The bop port is tested for the add program and works with no visible problems.

Revision 12008-01-15 - KirkKelsey

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="CompilerRepository"

-- KirkKelsey - 15 Jan 2008

Speculative Parallelism code (both "BOP" and "FastTrack") is in the subversion repository file:///p/compiler/repos/bop/trunk Both tools currently use our modified version of gcc 4.0.1. In addition to the runtime libraries (located in the INST directory) the repository contains a number of test programs.

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback