Ignore:
Timestamp:
Nov 26, 2008 2:56:05 PM (14 years ago)
Author:
srkline
Message:

Added poor man's threading to the MonteCarlo? calculation.

My guess is that the ran() function from NR is not thread safe (it is non-reentrant). So I simply duplicated Monte_SANSX to Monte_SANSX2, where each incarnation uses a different random number generator, either ran1() or ran3(). This means that currently only two processors are supported. Not a big deal. At least it works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/XOP_Dev/MonteCarlo/Xcode/MonteCarlo.xcodeproj/srkline.pbxuser

    r435 r458  
    11// !$*UTF8*$! 
    22{ 
    3         0610BF6A0EBF5EFB0094499E /* PBXTextBookmark */ = { 
     3        0651C06A0EDDC6E300823BAB /* MonteCarlo2.c */ = { 
     4                uiCtxt = { 
     5                        sepNavIntBoundsRect = "{{0, 0}, {900, 6300}}"; 
     6                        sepNavSelRange = "{7410, 0}"; 
     7                        sepNavVisRect = "{{0, 2975}, {900, 615}}"; 
     8                }; 
     9        }; 
     10        0651C0720EDDDEDD00823BAB /* PBXTextBookmark */ = { 
    411                isa = PBXTextBookmark; 
    512                fRef = 06C8DC600EA7CB1600E49E7B /* MonteCarlo.h */; 
    6                 name = "MonteCarlo.h: 14"; 
    7                 rLen = 0; 
    8                 rLoc = 223; 
    9                 rType = 0; 
    10                 vrLen = 0; 
    11                 vrLoc = 0; 
    12         }; 
    13         0610BF6B0EBF5EFB0094499E /* PBXTextBookmark */ = { 
     13                name = "MonteCarlo.h: FindPixel"; 
     14                rLen = 0; 
     15                rLoc = 1185; 
     16                rType = 0; 
     17                vrLen = 1344; 
     18                vrLoc = 225; 
     19        }; 
     20        0651C0730EDDDEDD00823BAB /* PBXTextBookmark */ = { 
     21                isa = PBXTextBookmark; 
     22                fRef = AA53F5630587C7410055F2C1 /* MonteCarlo.r */; 
     23                name = "MonteCarlo.r: 51"; 
     24                rLen = 0; 
     25                rLoc = 1288; 
     26                rType = 0; 
     27                vrLen = 1042; 
     28                vrLoc = 601; 
     29        }; 
     30        0651C0740EDDDEDD00823BAB /* PBXTextBookmark */ = { 
     31                isa = PBXTextBookmark; 
     32                fRef = 0651C06A0EDDC6E300823BAB /* MonteCarlo2.c */; 
     33                name = "MonteCarlo2.c: 1"; 
     34                rLen = 0; 
     35                rLoc = 0; 
     36                rType = 0; 
     37                vrLen = 1333; 
     38                vrLoc = 0; 
     39        }; 
     40        0651C0750EDDDEDD00823BAB /* PBXTextBookmark */ = { 
     41                isa = PBXTextBookmark; 
     42                fRef = 06C8DC600EA7CB1600E49E7B /* MonteCarlo.h */; 
     43                name = "MonteCarlo.h: FindPixel"; 
     44                rLen = 0; 
     45                rLoc = 1185; 
     46                rType = 0; 
     47                vrLen = 1344; 
     48                vrLoc = 225; 
     49        }; 
     50        0651C0760EDDDEDD00823BAB /* PBXTextBookmark */ = { 
     51                isa = PBXTextBookmark; 
     52                fRef = AA53F5630587C7410055F2C1 /* MonteCarlo.r */; 
     53                name = "MonteCarlo.r: 51"; 
     54                rLen = 0; 
     55                rLoc = 1288; 
     56                rType = 0; 
     57                vrLen = 1042; 
     58                vrLoc = 601; 
     59        }; 
     60        0651C0770EDDDEDD00823BAB /* PBXTextBookmark */ = { 
     61                isa = PBXTextBookmark; 
     62                fRef = 0651C06A0EDDC6E300823BAB /* MonteCarlo2.c */; 
     63                name = "MonteCarlo2.c: 231"; 
     64                rLen = 0; 
     65                rLoc = 7410; 
     66                rType = 0; 
     67                vrLen = 1634; 
     68                vrLoc = 6815; 
     69        }; 
     70        0651C0780EDDDEDE00823BAB /* PBXTextBookmark */ = { 
    1471                isa = PBXTextBookmark; 
    1572                fRef = 06C8DC5F0EA7CB1600E49E7B /* MonteCarlo.c */; 
    16                 name = "MonteCarlo.c: 26"; 
    17                 rLen = 0; 
    18                 rLoc = 1093; 
    19                 rType = 0; 
    20                 vrLen = 2412; 
    21                 vrLoc = 0; 
    22         }; 
    23         0695D15B0EBF730C00C08163 /* PBXTextBookmark */ = { 
    24                 isa = PBXTextBookmark; 
    25                 fRef = 06C8DC600EA7CB1600E49E7B /* MonteCarlo.h */; 
    26                 name = "MonteCarlo.h: 14"; 
    27                 rLen = 0; 
    28                 rLoc = 223; 
    29                 rType = 0; 
    30                 vrLen = 0; 
    31                 vrLoc = 0; 
    32         }; 
    33         0695D15C0EBF730C00C08163 /* PBXTextBookmark */ = { 
     73                name = "MonteCarlo.c: 229"; 
     74                rLen = 0; 
     75                rLoc = 7362; 
     76                rType = 0; 
     77                vrLen = 821; 
     78                vrLoc = 6605; 
     79        }; 
     80        06BB24F30EDDB6810002B95B /* PBXTextBookmark */ = { 
    3481                isa = PBXTextBookmark; 
    3582                fRef = 06C8DC5F0EA7CB1600E49E7B /* MonteCarlo.c */; 
    36                 name = "MonteCarlo.c: 25"; 
    37                 rLen = 0; 
    38                 rLoc = 695; 
    39                 rType = 0; 
    40                 vrLen = 2480; 
    41                 vrLoc = 0; 
     83                name = "MonteCarlo.c: 225"; 
     84                rLen = 0; 
     85                rLoc = 7362; 
     86                rType = 0; 
     87                vrLen = 1295; 
     88                vrLoc = 16601; 
    4289        }; 
    4390        06C8DBF40EA7B37900E49E7B /* Source Control */ = { 
     
    55102        06C8DC5F0EA7CB1600E49E7B /* MonteCarlo.c */ = { 
    56103                uiCtxt = { 
    57                         sepNavIntBoundsRect = "{{0, 0}, {1004, 9730}}"; 
    58                         sepNavSelRange = "{695, 0}"; 
    59                         sepNavVisRect = "{{0, 0}, {900, 1025}}"; 
     104                        sepNavIntBoundsRect = "{{0, 0}, {1004, 10024}}"; 
     105                        sepNavSelRange = "{7362, 0}"; 
     106                        sepNavVisRect = "{{0, 2864}, {900, 378}}"; 
    60107                }; 
    61108        }; 
    62109        06C8DC600EA7CB1600E49E7B /* MonteCarlo.h */ = { 
    63110                uiCtxt = { 
    64                         sepNavIntBoundsRect = "{{0, 0}, {900, 826}}"; 
    65                         sepNavSelRange = "{223, 0}"; 
    66                         sepNavVisRect = "{{0, 0}, {0, 0}}"; 
     111                        sepNavIntBoundsRect = "{{0, 0}, {900, 840}}"; 
     112                        sepNavSelRange = "{1185, 0}"; 
     113                        sepNavVisRect = "{{0, 211}, {900, 615}}"; 
    67114                }; 
    68115        }; 
     
    123170                vrLoc = 0; 
    124171        }; 
    125         06C8DCE70EA7D5DA00E49E7B /* PBXTextBookmark */ = { 
    126                 isa = PBXTextBookmark; 
    127                 fRef = AA53F5630587C7410055F2C1 /* MonteCarlo.r */; 
    128                 name = "MonteCarlo.r: 49"; 
    129                 rLen = 0; 
    130                 rLoc = 1267; 
    131                 rType = 0; 
    132                 vrLen = 1250; 
    133                 vrLoc = 0; 
    134         }; 
    135172        06C8DD2B0EA7E5C900E49E7B /* PBXTextBookmark */ = { 
    136173                isa = PBXTextBookmark; 
     
    138175                name = "MonteCarlo.c: 48"; 
    139176                rLen = 0; 
    140                 rLoc = 1758; 
     177                rLoc = 1963; 
    141178                rType = 0; 
    142179                vrLen = 676; 
     
    158195                name = "MonteCarlo.h: Monte_SANSX2"; 
    159196                rLen = 0; 
    160                 rLoc = 1169; 
     197                rLoc = 1203; 
    161198                rType = 0; 
    162199                vrLen = 1535; 
     
    203240                                        20, 
    204241                                        200, 
    205                                         343, 
     242                                        522, 
    206243                                        20, 
    207244                                        48, 
     
    219256                                ); 
    220257                        }; 
    221                         PBXPerProjectTemplateStateSaveDate = 247427336; 
    222                         PBXWorkspaceStateSaveDate = 247427336; 
     258                        PBXPerProjectTemplateStateSaveDate = 249412690; 
     259                        PBXWorkspaceStateSaveDate = 249412690; 
    223260                }; 
    224261                perUserProjectItems = { 
    225                         0610BF6A0EBF5EFB0094499E /* PBXTextBookmark */ = 0610BF6A0EBF5EFB0094499E /* PBXTextBookmark */; 
    226                         0610BF6B0EBF5EFB0094499E /* PBXTextBookmark */ = 0610BF6B0EBF5EFB0094499E /* PBXTextBookmark */; 
    227                         0695D15B0EBF730C00C08163 /* PBXTextBookmark */ = 0695D15B0EBF730C00C08163 /* PBXTextBookmark */; 
    228                         0695D15C0EBF730C00C08163 /* PBXTextBookmark */ = 0695D15C0EBF730C00C08163 /* PBXTextBookmark */; 
     262                        0651C0720EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0720EDDDEDD00823BAB /* PBXTextBookmark */; 
     263                        0651C0730EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0730EDDDEDD00823BAB /* PBXTextBookmark */; 
     264                        0651C0740EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0740EDDDEDD00823BAB /* PBXTextBookmark */; 
     265                        0651C0750EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0750EDDDEDD00823BAB /* PBXTextBookmark */; 
     266                        0651C0760EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0760EDDDEDD00823BAB /* PBXTextBookmark */; 
     267                        0651C0770EDDDEDD00823BAB /* PBXTextBookmark */ = 0651C0770EDDDEDD00823BAB /* PBXTextBookmark */; 
     268                        0651C0780EDDDEDE00823BAB /* PBXTextBookmark */ = 0651C0780EDDDEDE00823BAB /* PBXTextBookmark */; 
     269                        06BB24F30EDDB6810002B95B /* PBXTextBookmark */ = 06BB24F30EDDB6810002B95B /* PBXTextBookmark */; 
    229270                        06C8DC810EA7CF3000E49E7B /* PBXTextBookmark */ = 06C8DC810EA7CF3000E49E7B /* PBXTextBookmark */; 
    230271                        06C8DC820EA7CF3000E49E7B /* PBXTextBookmark */ = 06C8DC820EA7CF3000E49E7B /* PBXTextBookmark */; 
     
    232273                        06C8DC860EA7CF3000E49E7B /* PBXTextBookmark */ = 06C8DC860EA7CF3000E49E7B /* PBXTextBookmark */; 
    233274                        06C8DCE60EA7D5DA00E49E7B /* PBXTextBookmark */ = 06C8DCE60EA7D5DA00E49E7B /* PBXTextBookmark */; 
    234                         06C8DCE70EA7D5DA00E49E7B /* PBXTextBookmark */ = 06C8DCE70EA7D5DA00E49E7B /* PBXTextBookmark */; 
    235275                        06C8DD2B0EA7E5C900E49E7B /* PBXTextBookmark */ = 06C8DD2B0EA7E5C900E49E7B /* PBXTextBookmark */; 
    236276                        06FC64120EBB9EDE00F1F7E9 /* PBXTextBookmark */ = 06FC64120EBB9EDE00F1F7E9 /* PBXTextBookmark */; 
     
    254294        AA53F5630587C7410055F2C1 /* MonteCarlo.r */ = { 
    255295                uiCtxt = { 
    256                         sepNavIntBoundsRect = "{{0, 0}, {900, 1025}}"; 
    257                         sepNavSelRange = "{1027, 0}"; 
    258                         sepNavVisRect = "{{0, 0}, {900, 1025}}"; 
     296                        sepNavIntBoundsRect = "{{0, 0}, {900, 938}}"; 
     297                        sepNavSelRange = "{1288, 0}"; 
     298                        sepNavVisRect = "{{0, 323}, {900, 615}}"; 
    259299                }; 
    260300        }; 
Note: See TracChangeset for help on using the changeset viewer.