コード例 #1
0
ファイル: Experiment.cpp プロジェクト: mdtux89/COOPERA
/**
 * Call several times runOne() for training first, then for testing
 */
void LearnerExperiment::RunAll()
{
    for(int i=0; i < m_trainRuns; ++i) {
        OneRun(m_trainEpisodes,true);
    }

    for(int i=0; i < m_testRuns; ++i) {
        OneRun(m_testEpisodes,false);
    }

    //learner->SendQtable();

}
コード例 #2
0
ファイル: pios.cpp プロジェクト: yingjinqian/Lustre-Simulator
void PIOS::Run()
{
	struct pios_params params;
	struct run_arg args;
	int runno = 0;
	Stat *st;
	__u32 T;
	__u64 C;
	__u64 O;
	__u64 S;
	__u64 N;

	memset(&params, 0, sizeof(params));

	params.factor = 2;
	params.fpp = 1;
	params.C[0] = /*8 * 1048576; //*/512 * 1024;
	params.C[1] = /*8 * 1048576; //*/512 * 1024;
	params.O[0] = 8 * 1048576;
	params.O[1] = 8 * 1048576;
	params.S[0] = 8 * 1048576;
	params.S[1] = 8 * 1048576;
	params.N[0] = 1;
	params.N[1] = 128;
	params.T[0] = 1;
	params.T[1] = 16;

	st = new Stat(/*"pios.res"*/stdout);

	st->Record("Run\tTest\tTstamp\t\tT\tN\tS\tC\t%s"
               "Aggregate\tLowest\tHighest\tRun_time\n",
               params.cpuload ? "CPUload\t" : "");
	
        st->Record("-------------------------------------------------------"
               "----------------------------------------------------\n");

	for (T = params.T[0]; T <= params.T[1]; T *= params.factor) {
		for (C = params.C[0]; C <= params.C[1]; C *= params.factor) {
			for (S = params.S[0]; S <= params.S[1]; S *= params.factor) {
				if (S < C)
					printf("Error: chunksize (%llu) can not be"
						"smaller than regionsize (%llu)\n", S, C);
				for (N = params.N[0]; N <= params.N[1]; N *= params.factor) {
					for (O = params.O[0]; O <= params.O[1]; O *= params.factor) {
						BUG_ON(O < S || O < C);
						memset(&args, 0, sizeof(args));
						args.runno = runno;
						args.threadcount = T;
						args.regioncount = N;
						args.chunksize = C;
						args.regionsize = S;
						args.offset = O;
						args.st = st;
						args.fpp = params.fpp;

						OneRun(&args);
						runno++;
					}
				}
			}
		}
	}

	st->Record("------------------------------------------------------"
               "---------------------------------------------------\n");
	delete st;
}