Exemplo n.º 1
0
int starpu_opencl_load_opencl_from_file(char *source_file_name, struct starpu_opencl_program *opencl_programs)
{
    char located_file_name[1024];

    // Locate source file
    _starpu_opencl_locate_file(source_file_name, located_file_name);
    _STARPU_DEBUG("Source file name : <%s>\n", located_file_name);

    // Load the compute program from disk into a cstring buffer
    char *opencl_program_source = _starpu_opencl_load_program_source(located_file_name);
    if(!opencl_program_source)
        _STARPU_ERROR("Failed to load compute program from file <%s>!\n", located_file_name);

    return starpu_opencl_load_opencl_from_string(opencl_program_source, opencl_programs);
}
void starpu_opencl_load_program_source(const char *source_file_name, char *located_file_name, char *located_dir_name, char *opencl_program_source)
{
	// Locate source file
	_starpu_opencl_locate_file(source_file_name, located_file_name, located_dir_name);
	_STARPU_DEBUG("Source file name : <%s>\n", located_file_name);
	_STARPU_DEBUG("Source directory name : <%s>\n", located_dir_name);

	// Load the compute program from disk into a char *
	char *source = _starpu_opencl_load_program_source(located_file_name);
	if(!source)
		_STARPU_ERROR("Failed to load compute program from file <%s>!\n", located_file_name);

	sprintf(opencl_program_source, "%s", source);
	free(source);
}