1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright 2010 INRIA Saclay
- *
- * Use of this software is governed by the MIT license
- *
- * Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France,
- * Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod,
- * 91893 Orsay, France
- */
- #include <ctype.h>
- #include <limits.h>
- #include <string.h>
- #include "cuda_common.h"
- #include "ppcg.h"
- /* Open the host .cu file and the kernel .hu and .cu files for writing.
- * Add the necessary includes.
- */
- void cuda_open_files(struct cuda_info *info, const char *input)
- {
- char name[PATH_MAX];
- int len;
- len = ppcg_extract_base_name(name, input);
- strcpy(name + len, "_host.cu");
- info->host_c = fopen(name, "w");
- strcpy(name + len, "_kernel.cu");
- info->kernel_c = fopen(name, "w");
- strcpy(name + len, "_kernel.hu");
- info->kernel_h = fopen(name, "w");
- fprintf(info->host_c, "#include <assert.h>\n");
- fprintf(info->host_c, "#include <stdio.h>\n");
- fprintf(info->host_c, "#include \"%s\"\n", name);
- fprintf(info->kernel_c, "#include \"%s\"\n", name);
- fprintf(info->kernel_h, "#include \"cuda.h\"\n\n");
- }
- /* Close all output files.
- */
- void cuda_close_files(struct cuda_info *info)
- {
- fclose(info->kernel_c);
- fclose(info->kernel_h);
- fclose(info->host_c);
- }
|