Example #1
0
int main(int argc, char *argv[])
{
    // initialize the default values
    numDevices = 1;
    verbose = CL_FALSE;
    no_print_logo = CL_FALSE;
    strncpy(filename, "kernels.cl", CL_MAX_PATHSIZE);
    //strncpy(outfile,  "a.out", CL_MAX_PATHSIZE);
    memset(outfile, 0, sizeof(outfile));
    //strncpy(precomp,  "kernels.h", CL_MAX_PATHSIZE);
    memset(precomp, 0, sizeof(precomp));
    if (argc > 1)
    {
        cl_environment_t *pEnv = NULL;
        cl_uint dev_type = CL_DEVICE_TYPE_DEFAULT;
        clOptions(argc, argv);
        print_logo();

        if (verbose && filename[0] != '\0')
            printf("Compiling File: %s\n",filename);

        if (verbose && cl_args[0] != '\0')
            printf("CL ARGS: %s\n",cl_args);

        if (verbose && precomp[0] != '\0')
            printf("Precompiled Header: %s\n", precomp);

        dev_type = clGetTypeFromString(cl_device_types);
        if (verbose)
            printf("%u devices as type 0x%08x\n",numDevices,dev_type);

        // process the kernel
        pEnv = clCreateEnvironment(filename, dev_type, numDevices, notify, cl_args);
        if (pEnv == NULL)
        {
            printf("ERROR: Failed to compile %s\n", filename);
        }
        clDeleteEnvironment(pEnv);
    }
    else
    {
        cl_uint i;
        print_logo();
        printf("Usage:\n$ %s [OPTIONS] \n", argv[0]);
        for (i = 0; i < numOpts; i++)
        {
            printf("Option %s\t\t%s\n",options[i].arg, options[i].description);
        }
        printf("Example:\n$ %s -f %s -d %u -o %s\n",argv[0],filename,numDevices,outfile);
    }
    return 0;
}
Example #2
0
	TModelOptions InitOptions(const int argc, const char** argv, TString name, std::set<int> fields) {
		TProtoOptions<NDnnProto::TDnnOptions> clOptions(argc, argv, NStr::TStringBuilder() << "Dynamic neural network model, " << name, fields);
		NDnnProto::TDnnOptions options;
		if (!clOptions.Parse(options)) {
			exit(1);
		}

	    if (options.verbose()) {
	        TLog::Instance().SetLogLevel(TLog::DEBUG_LEVEL);
	    }

	    TModelOptions opts;
	    opts.Name = name;

	    if (options.has_config()) {
	    	opts.ConfigFile = options.config();

	    	NDnnProto::TConfig config;
	        ReadProtoTextFromFile(*opts.ConfigFile, config);
	        opts.Port = config.simconfiguration().port();
	    }

	    if (options.has_inputspikes()) {
	    	opts.InputSpikesFile = options.inputspikes();
	    }

	    if (options.has_port()) {
	        opts.Port = options.port();
	    }

	    if (options.has_output()) {
	    	opts.OutputSpikesFile = options.output();
	    }

	    if (options.has_stat()) {
	    	opts.StatFile = options.stat();
	    }

	    if (options.has_jobs()) {
	    	opts.Jobs = options.jobs();
	    }
	    if (options.has_load()) {
	    	opts.ModelLoad = options.load();
	    }
	    
	    if (options.has_save()) {
	    	opts.ModelSave = options.save();
	    }
	    return opts;
	}