Changeset 7205
- Timestamp:
- 12/19/11 11:08:33 (13 years ago)
- Location:
- branches/MPI
- Files:
-
- 1 added
- 4 deleted
- 9 edited
- 5 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/MPI/HeuristicLab.ExtLibs/HeuristicLab.MPInet/1.0.0/HeuristicLab.MPInet-1.0.0.csproj
r6394 r7205 41 41 <DebugType>full</DebugType> 42 42 <Optimize>false</Optimize> 43 <OutputPath> bin\Debug\</OutputPath>43 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 44 44 <DefineConstants>DEBUG;TRACE</DefineConstants> 45 45 <ErrorReport>prompt</ErrorReport> … … 100 100 </Reference> 101 101 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 102 <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 102 <HintPath>..\..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 103 <Private>False</Private> 103 104 </Reference> 104 105 <Reference Include="System" /> … … 116 117 </ItemGroup> 117 118 <ItemGroup> 118 <Compile Include="HeuristicLabMPInetPlugin.cs" />119 119 <Compile Include="Properties\AssemblyInfo.cs" /> 120 120 </ItemGroup> 121 121 <ItemGroup> 122 <None Include="Properties\AssemblyInfo.cs.frame" /> 122 123 <None Include="HeuristicLab.snk" /> 123 <None Include="Properties\AssemblyInfo.frame" />124 124 </ItemGroup> 125 125 <ItemGroup> … … 168 168 </PropertyGroup> 169 169 <PropertyGroup> 170 <PostBuildEvent>set ProjectName=$(ProjectName) 171 set Source=$(TargetPath) 172 set Configuration=$(ConfigurationName) 173 set Platform=$(PlatformName) 174 set SolutionDir=$(SolutionDir) 175 176 if exist "$(SolutionDir)CustomPostBuild.cmd" call "$(SolutionDir)CustomPostBuild.cmd"</PostBuildEvent> 170 <PostBuildEvent> 171 </PostBuildEvent> 177 172 </PropertyGroup> 178 173 </Project> -
branches/MPI/HeuristicLab.MPIAlgorithmRunner/3.3/HeuristicLab.MPIAlgorithmRunner-3.3.csproj
r6394 r7205 36 36 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> 37 37 <DebugSymbols>true</DebugSymbols> 38 <OutputPath> bin\Debug\</OutputPath>38 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 39 39 <DefineConstants>DEBUG;TRACE</DefineConstants> 40 40 <DebugType>full</DebugType> … … 103 103 </PropertyGroup> 104 104 <ItemGroup> 105 <Reference Include="HeuristicLab.Collections-3.3"> 106 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath> 105 <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 106 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 107 <Private>False</Private> 107 108 </Reference> 108 <Reference Include="HeuristicLab.Common-3.3"> 109 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath> 109 <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 110 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 111 <Private>False</Private> 110 112 </Reference> 111 <Reference Include="HeuristicLab.Core-3.3"> 112 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath> 113 <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 114 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 115 <Private>False</Private> 113 116 </Reference> 114 <Reference Include="HeuristicLab.Optimization-3.3"> 115 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath> 117 <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 118 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 119 <Private>False</Private> 116 120 </Reference> 117 <Reference Include="HeuristicLab.Persistence-3.3"> 118 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath> 121 <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 122 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 123 <Private>False</Private> 119 124 </Reference> 120 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 121 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 125 <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 126 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 127 <Private>False</Private> 122 128 </Reference> 123 129 <Reference Include="Microsoft.Hpc.Scheduler, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> … … 139 145 <ItemGroup> 140 146 <Compile Include="AlgorithmBroker.cs" /> 141 <Compile Include="HeuristicLabMPIAlgorithmRunnerPlugin.cs" />142 147 <Compile Include="IAlgorithmBroker.cs" /> 143 148 <Compile Include="Program.cs" /> … … 145 150 </ItemGroup> 146 151 <ItemGroup> 152 <None Include="HeuristicLab.snk" /> 153 </ItemGroup> 154 <ItemGroup> 155 <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.MPInet\1.0.0\HeuristicLab.MPInet-1.0.0.csproj"> 156 <Project>{C47EEE60-DF91-46DB-9B78-F2C2301D6FE7}</Project> 157 <Name>HeuristicLab.MPInet-1.0.0</Name> 158 <Private>False</Private> 159 </ProjectReference> 147 160 <ProjectReference Include="..\..\HeuristicLab.Operators.MPISupport\3.3\HeuristicLab.Operators.MPISupport-3.3.csproj"> 148 161 <Project>{6BD69CDA-4875-4045-8B35-6FD4602854F5}</Project> 149 162 <Name>HeuristicLab.Operators.MPISupport-3.3</Name> 163 <Private>False</Private> 150 164 </ProjectReference> 151 <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.MPInet\1.0.0\HeuristicLab.MPInet-1.0.0.csproj">152 <Project>{C47EEE60-DF91-46DB-9B78-F2C2301D6FE7}</Project>153 <Name>HeuristicLab.MPInet-1.0.0</Name>154 </ProjectReference>155 </ItemGroup>156 <ItemGroup>157 <None Include="HeuristicLab.snk" />158 <None Include="HeuristicLabMPIAlgorithmRunnerPlugin.cs.frame" />159 <None Include="Properties\AssemblyInfo.frame" />160 165 </ItemGroup> 161 166 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> … … 166 171 set Outdir=$(Outdir) 167 172 168 call PreBuildEvent.cmd 169 SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabMPIAlgorithmRunnerPlugin.cs.frame" "%25ProjectDir%25\HeuristicLabMPIAlgorithmRunnerPlugin.cs"</PreBuildEvent> 173 call PreBuildEvent.cmd</PreBuildEvent> 170 174 </PropertyGroup> 171 175 <PropertyGroup> 172 <PostBuildEvent>set ProjectName=$(ProjectName) 173 set Source=$(TargetPath) 174 set Configuration=$(ConfigurationName) 175 set Platform=$(PlatformName) 176 set SolutionDir=$(SolutionDir) 177 178 if exist "$(SolutionDir)CustomPostBuild.cmd" call "$(SolutionDir)CustomPostBuild.cmd"</PostBuildEvent> 176 <PostBuildEvent> 177 </PostBuildEvent> 179 178 </PropertyGroup> 180 179 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
branches/MPI/HeuristicLab.MPIAlgorithmRunner/3.3/Program.cs
r6402 r7205 27 27 using HeuristicLab.Persistence.Default.Xml; 28 28 using System.Threading; 29 using HeuristicLab.Operators.MPISupport;30 using HeuristicLab.Core;31 using Microsoft.Hpc.Scheduler;32 using System.ServiceModel;33 using System.Net;34 29 35 30 namespace HeuristicLab.MPIAlgorithmRunner { 36 31 class Program { 37 private static void SetJobStatus(string address) { 38 Console.WriteLine("Started service... at " + address); 39 40 // Discover the job's context from the environment 41 String headNodeName = System.Environment.GetEnvironmentVariable("CCP_SCHEDULER"); 42 int jobId = System.Convert.ToInt32(System.Environment.GetEnvironmentVariable("CCP_JOBID")); 43 44 Console.WriteLine(jobId + "@" + headNodeName); 45 46 // Connect to the head node and get the job 47 IScheduler scheduler = new Scheduler(); 48 scheduler.Connect(headNodeName); 49 ISchedulerJob job = scheduler.OpenJob(jobId); 50 51 job.SetCustomProperty("address", address); 52 53 job.Commit(); 54 } 55 56 private static string GetAddress(ServiceHost service) { 57 IPHostEntry IPHost = Dns.GetHostByName(Dns.GetHostName()); 58 string address = "net.tcp://" + IPHost.AddressList[0].ToString() + ":" + service.ChannelDispatchers[0].Listener.Uri.Port + "/AlgorithmBroker"; 59 60 return address; 61 } 32 EventWaitHandle waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset); 62 33 63 34 static void Main(string[] args) { 35 if (args.Length != 2) { 36 Console.WriteLine("Args:" + args.Length); 37 38 throw new ArgumentException("You must provide two arguments - the algorithm file and the result file"); 39 } 40 41 string fileName = args[0]; 42 string resultName = args[1]; 43 64 44 using (new MPI.Environment(ref args)) { 65 int clients = MPI.Communicator.world.Group.Size - 1; 66 Console.WriteLine("Clients: " + clients); 67 68 MPI.Communicator communicator = MPI.Communicator.world.Clone() as MPI.Communicator; 69 70 if (communicator.Rank == 0) { 71 ServiceHost service = AlgorithmBroker.StartService(communicator); 72 AlgorithmBroker broker = (service.SingletonInstance as AlgorithmBroker); 73 74 string address = GetAddress(service); 75 SetJobStatus(address); 76 77 bool[] finished = new bool[clients]; 78 int finishedCount = 0; 79 80 while (finishedCount != clients) { 81 ItemList<ResultCollection> results = new ItemList<ResultCollection>(); 82 83 for (int i = 0; i < clients; i++) { 84 if (!finished[i]) { 85 int client = i + 1; 86 ResultCollection result = communicator.Receive<MPITransportWrapper<ResultCollection>>(client, 1).InnerItem; 87 88 Console.WriteLine("Received result " + result); 89 90 if (results.Count != clients) { 91 results.Add(result); 92 } else { 93 results[i] = result; 94 } 95 96 Console.WriteLine("Probing..."); 97 if (communicator.ImmediateProbe(client, 2) != null) { 98 finished[i] = true; 99 finishedCount++; 100 } 101 } 102 } 103 104 Console.WriteLine("Update results"); 105 lock (broker.resultLocker) 106 broker.Results = results; 107 } 108 109 lock (broker.ExitWaitHandle) { 110 broker.Terminated = true; 111 } 112 113 broker.ExitWaitHandle.WaitOne(); 114 Console.WriteLine("Finished."); 115 Thread.Sleep(1000); 116 service.Close(); 117 } else { 118 Program p = new Program(); 119 p.StartAlgorithm(communicator); 120 } 45 Program p = new Program(); 46 p.StartAlgorithm(fileName, resultName + MPI.Communicator.world.Rank + ".hl"); 121 47 } 122 48 } 123 49 124 private EventWaitHandle waitHandle; 50 public void StartAlgorithm(string fileName, string resultName) { 51 IAlgorithm alg = XmlParser.Deserialize<HeuristicLab.Optimization.IAlgorithm>(fileName); 125 52 126 public void StartAlgorithm(MPI.Communicator communicator) { 127 IAlgorithm alg = communicator.Receive<MPITransportWrapper<IAlgorithm>>(0, 0).InnerItem; 128 int updateInterval = communicator.Receive<int>(0, 1); 129 130 Console.WriteLine("Starting algorithm..."); 53 alg.Stopped += new EventHandler(algorithm_Stopped); 54 waitHandle.Reset(); 131 55 132 56 alg.Prepare(true); 133 waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);134 alg.Started += new EventHandler(alg_Started);135 57 alg.Start(); 58 59 Thread.Sleep(10000); 60 Thread t = new Thread(delegate() { 61 while (true) { 62 if (alg.ExecutionState == Core.ExecutionState.Started) { 63 alg.Pause(); 64 65 while (alg.ExecutionState == Core.ExecutionState.Started) 66 Thread.Sleep(100); 67 68 if (alg.Results.ContainsKey("Best valid Solution Distance")) { 69 Console.WriteLine("BestDistance: " + alg.Results["Best valid Solution Distance"].Value.ToString()); 70 } 71 72 if (alg.Results.ContainsKey("Best valid Solution Vehicles")) { 73 Console.WriteLine("BestVehicles: " + alg.Results["Best valid Solution Vehicles"].Value.ToString()); 74 } 75 76 XmlGenerator.Serialize(alg, resultName); 77 alg.Start(); 78 } 79 80 Thread.Sleep(300000); 81 } 82 }); 83 t.IsBackground = true; 84 t.Start(); 136 85 137 86 waitHandle.WaitOne(); 138 87 139 alg.Started -= new EventHandler(alg_Started); 140 141 while (alg.ExecutionState != ExecutionState.Stopped) { 142 Console.WriteLine("Pausing alg..."); 143 alg.Pause(); 144 145 while (alg.ExecutionState == ExecutionState.Started) { 146 Thread.Sleep(100); 147 } 148 149 communicator.Send<MPITransportWrapper<ResultCollection>>( 150 new MPITransportWrapper<ResultCollection>(alg.Results), 0, 1); 151 152 Console.WriteLine("Sending update..."); 153 154 Console.WriteLine("Resuming alg..."); 155 if (alg.ExecutionState == ExecutionState.Paused) 156 alg.Start(); 157 Thread.Sleep(updateInterval); 158 } 159 160 communicator.Send<int>(communicator.Rank, 0, 2); 161 communicator.Send<MPITransportWrapper<ResultCollection>>( 162 new MPITransportWrapper<ResultCollection>(alg.Results), 0, 1); 88 XmlGenerator.Serialize(alg, resultName); 163 89 } 164 90 165 void alg _Started(object sender, EventArgs e) {91 void algorithm_Stopped(object sender, EventArgs e) { 166 92 waitHandle.Set(); 167 93 } -
branches/MPI/HeuristicLab.MPIEngine/3.3
- Property svn:ignore
-
old new 3 3 bin 4 4 obj 5 Plugin.cs
-
- Property svn:ignore
-
branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLab.MPIEngine-3.3.csproj
r6398 r7205 20 20 <DebugType>full</DebugType> 21 21 <Optimize>false</Optimize> 22 <OutputPath> bin\Debug\</OutputPath>22 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 23 23 <DefineConstants>DEBUG;TRACE</DefineConstants> 24 24 <ErrorReport>prompt</ErrorReport> … … 104 104 </PropertyGroup> 105 105 <ItemGroup> 106 <Reference Include="HeuristicLab.Collections-3.3"> 107 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath> 108 </Reference> 109 <Reference Include="HeuristicLab.Common-3.3"> 110 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath> 111 </Reference> 112 <Reference Include="HeuristicLab.Common.Resources-3.3"> 113 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath> 114 </Reference> 115 <Reference Include="HeuristicLab.Core-3.3"> 116 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath> 117 </Reference> 118 <Reference Include="HeuristicLab.Core.Views-3.3"> 119 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath> 120 </Reference> 121 <Reference Include="HeuristicLab.MainForm-3.3"> 122 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath> 123 </Reference> 124 <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3"> 125 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath> 126 </Reference> 127 <Reference Include="HeuristicLab.Optimization-3.3"> 128 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath> 129 </Reference> 130 <Reference Include="HeuristicLab.Persistence-3.3"> 131 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath> 132 </Reference> 133 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 134 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 135 </Reference> 136 <Reference Include="HeuristicLab.SequentialEngine-3.3"> 137 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.SequentialEngine-3.3.dll</HintPath> 106 <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 107 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 108 <Private>False</Private> 109 </Reference> 110 <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 111 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 112 <Private>False</Private> 113 </Reference> 114 <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 115 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 116 <Private>False</Private> 117 </Reference> 118 <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 119 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath> 120 <Private>False</Private> 121 </Reference> 122 <Reference Include="HeuristicLab.MainForm-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 123 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath> 124 <Private>False</Private> 125 </Reference> 126 <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 127 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath> 128 <Private>False</Private> 129 </Reference> 130 <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 131 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 132 <Private>False</Private> 133 </Reference> 134 <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 135 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 136 <Private>False</Private> 137 </Reference> 138 <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 139 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 140 <Private>False</Private> 141 </Reference> 142 <Reference Include="HeuristicLab.SequentialEngine-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 143 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.SequentialEngine-3.3.dll</HintPath> 144 <Private>False</Private> 138 145 </Reference> 139 146 <Reference Include="Microsoft.Hpc.Scheduler, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 140 147 <HintPath>..\..\HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\3.3\Microsoft.Hpc.Scheduler.dll</HintPath> 148 <Private>True</Private> 141 149 </Reference> 142 150 <Reference Include="Microsoft.Hpc.Scheduler.Properties, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 143 151 <HintPath>..\..\Microsoft.Hpc.Scheduler.Properties.dll</HintPath> 152 <Private>True</Private> 144 153 </Reference> 145 154 <Reference Include="System" /> … … 161 170 <DependentUpon>MPIEngineView.cs</DependentUpon> 162 171 </Compile> 163 <Compile Include=" HeuristicLabMPIEnginePlugin.cs" />172 <Compile Include="Plugin.cs" /> 164 173 <Compile Include="Properties\AssemblyInfo.cs" /> 165 174 <Compile Include="MPIEngine.cs" /> 166 175 </ItemGroup> 167 176 <ItemGroup> 177 <None Include="Properties\AssemblyInfo.cs.frame" /> 168 178 <None Include="HeuristicLab.snk" /> 169 <None Include="HeuristicLabMPIEnginePlugin.cs.frame" /> 170 <None Include="Properties\AssemblyInfo.frame" /> 179 <None Include="Plugin.cs.frame" /> 171 180 </ItemGroup> 172 181 <ItemGroup> … … 174 183 <Project>{62C3B458-430E-4EF4-8250-C50BCF94D035}</Project> 175 184 <Name>HeuristicLab.MPIAlgorithmRunner-3.3</Name> 185 <Private>False</Private> 176 186 </ProjectReference> 177 187 <ProjectReference Include="..\..\HeuristicLab.Operators.MPISupport\3.3\HeuristicLab.Operators.MPISupport-3.3.csproj"> 178 188 <Project>{6BD69CDA-4875-4045-8B35-6FD4602854F5}</Project> 179 189 <Name>HeuristicLab.Operators.MPISupport-3.3</Name> 190 <Private>False</Private> 180 191 </ProjectReference> 181 192 </ItemGroup> … … 187 198 set Outdir=$(Outdir) 188 199 189 call PreBuildEvent.cmd 190 SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabMPIEnginePlugin.cs.frame" "%25ProjectDir%25\HeuristicLabMPIEnginePlugin.cs"</PreBuildEvent> 191 </PropertyGroup> 192 <PropertyGroup> 193 <PostBuildEvent>set ProjectName=$(ProjectName) 194 set Source=$(TargetPath) 195 set Configuration=$(ConfigurationName) 196 set Platform=$(PlatformName) 197 set SolutionDir=$(SolutionDir) 198 199 if exist "$(SolutionDir)CustomPostBuild.cmd" call "$(SolutionDir)CustomPostBuild.cmd"</PostBuildEvent> 200 call PreBuildEvent.cmd</PreBuildEvent> 201 </PropertyGroup> 202 <PropertyGroup> 203 <PostBuildEvent> 204 </PostBuildEvent> 200 205 </PropertyGroup> 201 206 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
branches/MPI/HeuristicLab.Operators.MPISupport/3.3
- Property svn:ignore
-
old new 3 3 obj 4 4 HeuristicLabOperatorsMPISupportPlugin.cs 5 Plugin.cs
-
- Property svn:ignore
-
branches/MPI/HeuristicLab.Operators.MPISupport/3.3/HeuristicLab.Operators.MPISupport-3.3.csproj
r6393 r7205 41 41 <DebugType>full</DebugType> 42 42 <Optimize>false</Optimize> 43 <OutputPath> bin\Debug\</OutputPath>43 <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath> 44 44 <DefineConstants>DEBUG;TRACE</DefineConstants> 45 45 <ErrorReport>prompt</ErrorReport> … … 96 96 </PropertyGroup> 97 97 <ItemGroup> 98 <Reference Include="Accessibility"> 99 <EmbedInteropTypes>True</EmbedInteropTypes> 98 <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 99 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 100 <Private>False</Private> 100 101 </Reference> 101 <Reference Include="HeuristicLab.Collections-3.3"> 102 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath> 102 <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 103 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 104 <Private>False</Private> 103 105 </Reference> 104 <Reference Include="HeuristicLab.Common-3.3"> 105 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath> 106 <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 107 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 108 <Private>False</Private> 106 109 </Reference> 107 <Reference Include="HeuristicLab.Core-3.3"> 108 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath> 110 <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 111 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath> 112 <Private>False</Private> 109 113 </Reference> 110 <Reference Include="HeuristicLab.Operators-3.3"> 111 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath> 114 <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 115 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 116 <Private>False</Private> 112 117 </Reference> 113 <Reference Include="HeuristicLab.Optimization-3.3"> 114 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath> 118 <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 119 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 120 <Private>False</Private> 115 121 </Reference> 116 <Reference Include="HeuristicLab.Persistence-3.3"> 117 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath> 118 </Reference> 119 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 120 <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 122 <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 123 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 124 <Private>False</Private> 121 125 </Reference> 122 126 <Reference Include="MPI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=29b4a045737654fe, processorArchitecture=MSIL"> … … 136 140 </ItemGroup> 137 141 <ItemGroup> 138 <None Include="HeuristicLabOperatorsMPISupportPlugin.cs.frame" />139 <Compile Include="HeuristicLabOperatorsMPISupportPlugin.cs" />140 142 <Compile Include="MPITransportWrapper.cs" /> 141 143 <Compile Include="MPIUnidirectionalRingMigrator.cs" /> 144 <Compile Include="Plugin.cs" /> 142 145 <Compile Include="Properties\AssemblyInfo.cs" /> 143 146 </ItemGroup> 144 147 <ItemGroup> 148 <None Include="Properties\AssemblyInfo.cs.frame" /> 145 149 <None Include="HeuristicLab.snk" /> 146 <None Include="P roperties\AssemblyInfo.frame" />150 <None Include="Plugin.cs.frame" /> 147 151 </ItemGroup> 148 152 <ItemGroup> … … 177 181 set Outdir=$(Outdir) 178 182 179 call PreBuildEvent.cmd 180 SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabOperatorsMPISupportPlugin.cs.frame" "%25ProjectDir%25\HeuristicLabOperatorsMPISupportPlugin.cs"</PreBuildEvent> 183 call PreBuildEvent.cmd</PreBuildEvent> 181 184 </PropertyGroup> 182 185 <PropertyGroup> 183 <PostBuildEvent>set ProjectName=$(ProjectName) 184 set Source=$(TargetPath) 185 set Configuration=$(ConfigurationName) 186 set Platform=$(PlatformName) 187 set SolutionDir=$(SolutionDir) 188 189 if exist "$(SolutionDir)CustomPostBuild.cmd" call "$(SolutionDir)CustomPostBuild.cmd"</PostBuildEvent> 186 <PostBuildEvent> 187 </PostBuildEvent> 190 188 </PropertyGroup> 191 189 </Project> -
branches/MPI/HeuristicLab.Operators.MPISupport/3.3/MPIUnidirectionalRingMigrator.cs
r6354 r7205 48 48 if (MPI.Communicator.world != null) { 49 49 int size = MPI.Communicator.world.Size; 50 if (size > 2) {50 if (size > 1) { 51 51 int i = MPI.Communicator.world.Rank; 52 52 IScope scope = ExecutionContext.Scope; … … 56 56 int recipent = i + 1; 57 57 if (recipent == size) 58 recipent = 1;58 recipent = 0; 59 59 60 60 Console.WriteLine("MIGRATE " + i + " TO " + recipent); … … 64 64 IScope immigrants = null; 65 65 int sender = i - 1; 66 if (sender < 1)66 if (sender < 0) 67 67 sender = size - 1; 68 68 -
branches/MPI/PreBuildEvent.cmd
r6393 r7205 1 SubWCRev "%ProjectDir%\" "%ProjectDir%\Properties\AssemblyInfo.frame" "%ProjectDir%\Properties\AssemblyInfo.cs" 1 IF EXIST "%ProjectDir%\Properties\AssemblyInfo.cs.frame" SubWCRev "%ProjectDir%\" "%ProjectDir%\Properties\AssemblyInfo.cs.frame" "%ProjectDir%\Properties\AssemblyInfo.cs" 2 IF EXIST "%ProjectDir%\Plugin.cs.frame" SubWCRev "%ProjectDir%\" "%ProjectDir%\Plugin.cs.frame" "%ProjectDir%\Plugin.cs"
Note: See TracChangeset
for help on using the changeset viewer.