void HaneyCVersion(BenchmarkExt<int>& bench) { bench.beginImplementation("Inlined C"); while (!bench.doneImplementationBenchmark()) { int length = bench.getParameter(); long iters = bench.getIterations(); cout << "length = " << length << " iters = " << iters << endl; float* li = new float[length]; float* R = new float[length]; float* w = new float[length]; initializeRandom(li, length); initializeRandom(R, length); initializeRandom(w, length); // Tickle the cache for (int i=0; i < length; ++i) li[i] = R[i] + log(w[i]); bench.start(); for (long j=0; j < iters; ++j) { for (int i=0; i < length; ++i) { li[i] = Mu0 * R[i] * (0.5 * (1.0 + (1.0/24.0) * sqr(w[i]/R[i])) * log(32.0 * sqr(R[i]/w[i])) + 0.05 * sqr(w[i]/R[i]) - 0.85); } } bench.stop(); // Subtract the loop overhead bench.startOverhead(); for (long j=0; j < iters; ++j) {} bench.stopOverhead(); delete [] li; delete [] w; delete [] R; } bench.endImplementation(); }
RepastHPCDemoModel::RepastHPCDemoModel(std::string propsFile, int argc, char** argv, boost::mpi::communicator* comm): context(comm){ props = new repast::Properties(propsFile, argc, argv, comm); stopAt = repast::strToInt(props->getProperty("stop.at")); countOfAgents = repast::strToInt(props->getProperty("count.of.agents")); initializeRandom(*props, comm); if(repast::RepastProcess::instance()->rank() == 0) props->writeToSVFile("./output/record.csv"); provider = new RepastHPCDemoAgentPackageProvider(&context); receiver = new RepastHPCDemoAgentPackageReceiver(&context); agentNetwork = new repast::SharedNetwork<RepastHPCDemoAgent, repast::RepastEdge<RepastHPCDemoAgent>, repast::RepastEdgeContent<RepastHPCDemoAgent>, repast::RepastEdgeContentManager<RepastHPCDemoAgent> >("agentNetwork", false, &edgeContentManager); context.addProjection(agentNetwork); // Data collection // Create the data set builder std::string fileOutputName("./output/agent_total_data.csv"); repast::SVDataSetBuilder builder(fileOutputName.c_str(), ",", repast::RepastProcess::instance()->getScheduleRunner().schedule()); // Create the individual data sets to be added to the builder DataSource_AgentTotals* agentTotals_DataSource = new DataSource_AgentTotals(&context); builder.addDataSource(createSVDataSource("Total", agentTotals_DataSource, std::plus<int>())); DataSource_AgentCTotals* agentCTotals_DataSource = new DataSource_AgentCTotals(&context); builder.addDataSource(createSVDataSource("C", agentCTotals_DataSource, std::plus<int>())); // Use the builder to create the data set agentValues = builder.createDataSet(); }
TechBot (std::string str) :TB_BotName(str), TB_bQuitProgram(0), TB_Input("null")//, TB_bTTSEngineInitialised(0), TB_pVoice(NULL) { initializeRandom(); //Initialize_TTS_Engine(); LoadDBclass(); }
RepastHPCDemoModel::RepastHPCDemoModel(std::string propsFile, int argc, char** argv, boost::mpi::communicator* comm): context(comm){ props = new repast::Properties(propsFile, argc, argv, comm); stopAt = repast::strToInt(props->getProperty("stop.at")); countOfAgents = repast::strToInt(props->getProperty("count.of.agents")); initializeRandom(*props, comm); if(repast::RepastProcess::instance()->rank() == 0) props->writeToSVFile("./output/record.csv"); provider = new RepastHPCDemoAgentPackageProvider(&context); receiver = new RepastHPCDemoAgentPackageReceiver(&context); }
void HaneyBlitzVersion(BenchmarkExt<int>& bench) { bench.beginImplementation("Blitz++"); while (!bench.doneImplementationBenchmark()) { int length = bench.getParameter(); int iters = (int)bench.getIterations(); Vector<float> li(length), R(length), w(length); initializeRandom(li.data(), length); initializeRandom(R.data(), length); initializeRandom(w.data(), length); cout << "length = " << length << " iters = " << iters << endl; // Tickle li = w + log(R); // Time bench.start(); for (long i=0; i < iters; ++i) { #if defined(__GNUC__) && (__GNUC__ < 3) li = Mu0 * R * ( (0.5 + (0.5/24.0) * sqr(w/R) ) * log(32.0 * sqr(R/w)) + 0.05 * sqr(w/R) - 0.85); #else li = Mu0 * R * (0.5 * (1.0 + (1.0/24.0) * sqr(w/R)) * log(32.0 * sqr(R/w)) + 0.05 * sqr(w/R) - 0.85); #endif } bench.stop(); // Time overhead bench.startOverhead(); for (long i=0; i < iters; ++i) { } bench.stopOverhead(); } bench.endImplementation(); }
void HaneyFortranVersion(BenchmarkExt<int>& bench) { bench.beginImplementation("Fortran"); while (!bench.doneImplementationBenchmark()) { int length = bench.getParameter(); int iters = (int)bench.getIterations(); cout << "length = " << length << " iters = " << iters << endl; float* li = new float[length]; float* R = new float[length]; float* w = new float[length]; initializeRandom(li, length); initializeRandom(R, length); initializeRandom(w, length); // Tickle int oneIter = 1; vecopsf(li, R, w, length, oneIter); // Time bench.start(); vecopsf(li, R, w, length, iters); bench.stop(); // Time overhead bench.startOverhead(); vecopsfo(li, R, w, length, iters); bench.stopOverhead(); delete [] li; delete [] w; delete [] R; } bench.endImplementation(); }