int main(int argc, char** argv)
{
	int rc = 0;
	char pname[MAX_PROCESSNAME_SIZE] = {0};
	int num_loops = 0;
	int num_processes = 0;
	int num_threads = 0;

	rc = prctl(PR_GET_NAME, (unsigned long)(pname), 0, 0, 0);
	assert(rc == 0);

	if (argc < 4) {
		num_loops = 10;
		num_processes = 1;
		num_threads = 2;
	} else {
		num_loops = atoi(argv[3]);
		num_processes = atoi(argv[1]);
		num_threads = atoi(argv[2]);
		if (num_threads > MAX_THREADS) {
			fprintf(stderr, "The maximum number of threads (%d)"
				" exceeded. Please provide a lower value\n",
				MAX_THREADS);
			return 2;
		}
	}

	runall(pname, num_processes, num_threads, num_loops);

	return 0;
}
示例#2
0
文件: euler.cpp 项目: d3zd3z/euler
int main(int argc, char* argv[]) {
  if (argc == 1) {
    std::cerr << "Usage: euler all   OR   euler n n n\n";
    return 1;
  }
  if (argc == 2 && strcmp(argv[1], "all") == 0) {
    runall();
    return 0;
  }

  // Otherwise, make a mapping, and run them individually.
  std::map<int, euler::Problem> pmap;
  for (auto prob : euler::problems) {
    pmap[prob.number] = prob;
  }

  for (auto arg = argv + 1; *arg != nullptr; ++arg) {
    const int num = std::stoi(*arg);
    auto prob = pmap.find(num);
    if (prob == pmap.end()) {
      std::cout << "Unknown problem: " << num << '\n';
    } else {
      runone(prob->second);
    }
  }

  return 0;
}
示例#3
0
int main( int argc, char *argv[] )
{
    
    char *ARGV[ARGC_MAX];
    int i = 0;
    int ARGC = 0;
    int ret = EXIT_SUCCESS;

    if ( argc == 1 )    // HADOOP
    {
        ARGV[0] = getenv("mapred_job_arg0"); // # of args, i.e., argc
        ARGV[1] = getenv("mapred_job_arg1"); // e.g. -l
        ARGV[2] = getenv("mapred_job_arg2"); // e.g. -l
        ARGV[3] = getenv("mapred_job_arg3"); // e.g. 50
        ARGV[4] = getenv("mapred_job_arg4"); // e.g. -e
        ARGV[5] = getenv("mapred_job_arg5"); // e.g. 0.02
        ARGV[6] = getenv("mapred_job_arg6"); // e.g. -q
        ARGV[7] = getenv("mapred_job_arg7"); // e.g. A
        ARGV[8] = getenv("mapred_job_arg8"); // e.g. -r
        ARGV[9] = getenv("mapred_job_arg9"); // e.g. 200
        ARGV[10] = getenv("mapred_job_arg10"); // e.g. -t
        ARGV[11] = getenv("mapred_job_arg11"); // e.g. 20
        ARGV[12] = getenv("mapred_job_arg12"); // e.g. -f
        ARGV[13] = getenv("mapred_job_arg13"); // e.g. ref.fa
        ARGV[14] = getenv("mapred_job_arg14"); // e.g. ref.fa
        ARGV[15] = getenv("mapred_job_arg15"); // e.g. ref.fa
        ARGV[16] = getenv("mapred_job_arg16"); // e.g. ref.fa
        ARGV[17] = getenv("mapred_job_arg17"); // e.g. ref.fa
        ARGV[18] = getenv("mapred_job_arg18"); // e.g. ref.fa
        ARGV[19] = getenv("mapred_job_arg19"); // e.g. ref.fa
        ARGV[20] = getenv("mapred_job_arg20"); // e.g. ref.fa
        ARGV[21] = getenv("mapred_job_arg21"); // e.g. ref.fa
        ARGV[22] = getenv("mapred_job_arg22"); // e.g. ref.fa
        ARGV[23] = getenv("mapred_job_arg23"); // e.g. ref.fa
        
        fprintf( stderr, "=============================================\n");
        fprintf( stderr, "[HADOOP] # of args : %s\n", ARGV[0] );
        fprintf( stderr, "[HADOOP] command : %s\n", ARGV[1] );

        ARGC = atoi( ARGV[0] );

        for ( i = 0; i < ARGC; i++ )
        {
            fprintf( stderr, "%d. %s\n", i , ARGV[i] );
        }
        fprintf( stderr, "=============================================\n");

        // For hadoop, only "runall" is allowed

        if( strcmp( ARGV[1], "runall") == 0 ) ret = runall( ARGC-1, ARGV+1 );
        else if( strcmp( ARGV[1], "genfa") == 0 ) genfa( ARGC-1, ARGV+1 );
        else if( strcmp( ARGV[1], "genfqse") == 0 ) genfq( ARGC-1, ARGV+1 );
        else if( strcmp( ARGV[1], "genfqpe") == 0 ) genfq( ARGC-1, ARGV+1 );
        else if( strcmp( ARGV[1], "extract") == 0 ) extractor( ARGC-1, ARGV+1 );
        else if( strcmp( ARGV[1], "tech") == 0 ) runall_by_tech( ARGC-1, ARGV+1 );
        else usage();

    }
    else if( argc == 2 ) 
    {   if      ( strcmp( "-h", argv[1] ) == 0)  usage();
        else if ( strcmp( "-v", argv[1] ) == 0)  fprintf( stderr, "%d.%d.%d\n", \
                                                 VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD );
    }
    else
    { 
        fprintf( stderr, "=============================================\n");
        fprintf( stderr, "[LOCAL] # of args : %d\n", argc );
        fprintf( stderr, "[LOCAL] command : %s\n", argv[0] );
        
        for ( i = 1; i < argc; i++ )
        {
            fprintf( stderr, "%d. %s\n", i, argv[i] );
        }

        fprintf( stderr, "=============================================\n");

        if( strcmp( argv[1], "runall") == 0 ) runall( argc-1, argv+1 );
        else if( strcmp( argv[1], "genfa") == 0 ) genfa( argc-1, argv+1 );
        else if( strcmp( argv[1], "genfqse") == 0 ) genfq( argc-1, argv+1 );
        else if( strcmp( argv[1], "genfqpe") == 0 ) genfq( argc-1, argv+1 );
        else if( strcmp( argv[1], "extract") == 0 ) extractor( argc-1, argv+1 );
        else if( strcmp( argv[1], "tech") == 0 ) runall_by_tech( argc-1, argv+1 );
        else usage();
        
    }

    return ret;
                          //EXIT_SUCCESS;  // must return 0(=EXIT_SUCCESS)
                          // non-zero means errors, EXIT_FAILURE
}