コード例 #1
0
ファイル: platform.c プロジェクト: xianggong/multi2sim42
void evg_opencl_platform_free(struct evg_opencl_platform_t *platform) {
  EvgEmu *emu;

  emu = platform->emu;
  evg_opencl_repo_remove_object(emu->opencl_repo, platform);
  free(platform);
}
コード例 #2
0
ファイル: sampler.c プロジェクト: 3upperm2n/gpuSimulators
/* Free sampler */
void evg_opencl_sampler_free(struct evg_opencl_sampler_t *sampler)
{
	OpenclOldDriver *driver = sampler->driver;

	evg_opencl_repo_remove_object(driver->opencl_repo, sampler);
	free(sampler);
}
コード例 #3
0
ファイル: device.c プロジェクト: qwestduck/multi2sim-package
/* Free device */
void evg_opencl_device_free(struct evg_opencl_device_t *device)
{
	EvgEmu *emu;

	emu = device->emu;
	evg_opencl_repo_remove_object(emu->opencl_repo, device);
	free(device);
}
コード例 #4
0
ファイル: program.c プロジェクト: xianggong/multi2sim42
void evg_opencl_program_free(struct evg_opencl_program_t *program) {
  /* Free lists */
  list_free(program->constant_buffer_list);

  if (program->elf_file) elf_file_free(program->elf_file);
  evg_opencl_repo_remove_object(evg_emu->opencl_repo, program);
  free(program);
}
コード例 #5
0
/* Free command queue */
void evg_opencl_command_queue_free(struct evg_opencl_command_queue_t *command_queue)
{
	/* Check that command list is empty */
	if (linked_list_count(command_queue->command_list))
		fatal("%s: freed command queue is not empty", __FUNCTION__);
	
	/* Free */
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, command_queue);
	linked_list_free(command_queue->command_list);
	free(command_queue);
}
コード例 #6
0
ファイル: kernel.c プロジェクト: xianggong/multi2sim42
void evg_opencl_kernel_free(struct evg_opencl_kernel_t *kernel) {
    int i;

    /* Free arguments */
    for (i = 0; i < list_count(kernel->arg_list); i++)
        evg_opencl_kernel_arg_free(
            (struct evg_opencl_kernel_arg_t *)list_get(kernel->arg_list, i));
    list_free(kernel->arg_list);

    /* Free lists */
    list_free(kernel->uav_read_list);
    list_free(kernel->uav_write_list);
    list_free(kernel->constant_buffer_list);

    /* AMD Binary (internal ELF) */
    if (kernel->bin_file) evg_bin_file_free(kernel->bin_file);

    /* Free kernel */
    evg_opencl_repo_remove_object(evg_emu->opencl_repo, kernel);
    free(kernel);
}
コード例 #7
0
ファイル: platform.c プロジェクト: ajithcj/miaow
void evg_opencl_platform_free(struct evg_opencl_platform_t *platform)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, platform);
	free(platform);
}
コード例 #8
0
/* Free sampler */
void evg_opencl_sampler_free(struct evg_opencl_sampler_t *sampler)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, sampler);
	free(sampler);
}
コード例 #9
0
/* Free context */
void evg_opencl_context_free(struct evg_opencl_context_t *context)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, context);
	free(context);
}
コード例 #10
0
/* Free device */
void evg_opencl_device_free(struct evg_opencl_device_t *device)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, device);
	free(device);
}
コード例 #11
0
ファイル: opencl-mem.c プロジェクト: filippo-ceid/multi2sim
void evg_opencl_mem_free(struct evg_opencl_mem_t *mem)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, mem);
	free(mem);
}