a51df54e48
gcc/ * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call GOMP_offload_unregister from the destructor. libgomp/ * libgomp-plugin.h (struct mapping_table): Replace with addr_pair. * libgomp.h (struct gomp_memory_mapping): Remove. (struct target_mem_desc): Change type of mem_map from gomp_memory_mapping * to splay_tree_s *. (struct gomp_device_descr): Remove register_image_func, get_table_func. Add load_image_func, unload_image_func. Change type of mem_map from gomp_memory_mapping to splay_tree_s. Remove offload_regions_registered. (gomp_init_tables): Remove. (gomp_free_memmap): Change type of argument from gomp_memory_mapping * to splay_tree_s *. * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister. * oacc-host.c (host_dispatch): Do not initialize register_image_func, get_table_func, mem_map.is_initialized, mem_map.splay_tree.root, offload_regions_registered. Initialize load_image_func, unload_image_func, mem_map.root. (goacc_host_init): Do not initialize host_dispatch.mem_map.lock. * oacc-init.c (lazy_open): Don't call gomp_init_tables. (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's. * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of gomp_memory_mapping *. Use dev's lock and splay_tree. (lookup_dev): Use dev's lock. (acc_deviceptr): Pass dev to lookup_host instead of mem_map. (acc_is_present): Likewise. (acc_map_data): Likewise. (acc_unmap_data): Likewise. Use dev's lock. (present_create_copy): Likewise. (delete_copyout): Pass dev to lookup_host instead of mem_map. (update_dev_host): Likewise. (gomp_acc_remove_pointer): Likewise. Use dev's lock. * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree. * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove. (GOMP_OFFLOAD_get_table): Remove (GOMP_OFFLOAD_load_image): New function. (GOMP_OFFLOAD_unload_image): New function. * target.c (register_lock): New mutex for offload image registration. (num_devices): Do not guard with PLUGIN_SUPPORT. (gomp_realloc_unlock): New static function. (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex before gomp_fatal. (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's. Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal. (gomp_copy_from_async): Use dev's lock and splay_tree instead of mem_map's. (gomp_unmap_vars): Likewise. (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and splay_tree instead of mm's. Unlock mutex before gomp_fatal. (gomp_offload_image_to_device): New static function. (GOMP_offload_register): Add mutex lock. Call gomp_offload_image_to_device for all initialized devices. Replace gomp_realloc with gomp_realloc_unlock. (GOMP_offload_unregister): New function. (gomp_init_tables): Replace with gomp_init_device. Replace a call to get_table_func from the plugin with calls to init_device_func and gomp_offload_image_to_device. (gomp_free_memmap): Change type of argument from gomp_memory_mapping * to splay_tree_s *. (GOMP_target): Do not call gomp_init_tables. Use dev's lock and splay_tree instead of mem_map's. Unlock mutex before gomp_fatal. (GOMP_target_data): Do not call gomp_init_tables. (GOMP_target_update): Likewise. Remove argument from gomp_update. (gomp_load_plugin_for_device): Replace register_image and get_table with load_image and unload_image in DLSYM (). (gomp_register_images_for_device): Remove function. (gomp_target_init): Do not initialize current_device.mem_map.*, current_device.offload_regions_registered. Remove call to gomp_register_images_for_device. Do not free offload_images and num_offload_images. liboffloadmic/ * plugin/libgomp-plugin-intelmic.cpp: Include map. (AddrVect, DevAddrVect, ImgDevAddrMap): New typedefs. (num_devices, num_images, address_table): New static vars. (num_libraries, lib_descrs): Remove static vars. (set_mic_lib_path): Rename to ... (init): ... this. Allocate address_table and get num_devices. (GOMP_OFFLOAD_get_num_devices): return num_devices. (load_lib_and_get_table): Remove static function. (offload_image): New static function. (GOMP_OFFLOAD_get_table): Remove function. (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New functions. From-SVN: r221878
128 lines
4.9 KiB
Plaintext
128 lines
4.9 KiB
Plaintext
2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
|
|
|
|
* plugin/libgomp-plugin-intelmic.cpp: Include map.
|
|
(AddrVect, DevAddrVect, ImgDevAddrMap): New typedefs.
|
|
(num_devices, num_images, address_table): New static vars.
|
|
(num_libraries, lib_descrs): Remove static vars.
|
|
(set_mic_lib_path): Rename to ...
|
|
(init): ... this. Allocate address_table and get num_devices.
|
|
(GOMP_OFFLOAD_get_num_devices): return num_devices.
|
|
(load_lib_and_get_table): Remove static function.
|
|
(offload_image): New static function.
|
|
(GOMP_OFFLOAD_get_table): Remove function.
|
|
(GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New functions.
|
|
|
|
2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_get_name)
|
|
(GOMP_OFFLOAD_get_caps, GOMP_OFFLOAD_fini_device): New functions.
|
|
|
|
2014-11-13 Ilya Verbin <ilya.verbin@intel.com>
|
|
Andrey Turetskiy <andrey.turetskiy@intel.com>
|
|
|
|
* Makefile.in: Regenerate.
|
|
* configure: Regenerate.
|
|
* configure.ac: Add subdirectory 'plugin'.
|
|
* plugin/Makefile.am: New file.
|
|
* plugin/Makefile.in: New file, generated by automake.
|
|
* plugin/aclocal.m4: New file, generated by aclocal.
|
|
* plugin/configure: New file, generated by autoconf.
|
|
* plugin/configure.ac: New file.
|
|
* plugin/libgomp-plugin-intelmic.cpp: New file.
|
|
* plugin/offload_target_main.cpp: New file.
|
|
|
|
2014-11-13 Kirill Yukhin <kirill.yukhin@intel.com>
|
|
|
|
Initial commit. Imported from upstream:
|
|
https://www.openmprtl.org/sites/default/files/liboffload_oss.tgz
|
|
* Makefile.am: New file.
|
|
* Makefile.in: New file, generated by automake.
|
|
* aclocal.m4: New file, generated by aclocal.
|
|
* configure: New file, generated by autoconf.
|
|
* configure.ac: New file.
|
|
* configure.tgt: Ditto.
|
|
* doc/doxygen/config: Ditto.
|
|
* doc/doxygen/header.tex: Ditto.
|
|
* include/coi/common/COIEngine_common.h: Ditto.
|
|
* include/coi/common/COIMacros_common.h: Ditto.
|
|
* include/coi/common/COIPerf_common.h : Ditto.
|
|
* include/coi/common/COIResult_common.h : Ditto.
|
|
* include/coi/common/COITypes_common.h: Ditto.
|
|
* include/coi/sink/COIBuffer_sink.h: Ditto.
|
|
* include/coi/sink/COIPipeline_sink.h: Ditto.
|
|
* include/coi/sink/COIProcess_sink.h: Ditto.
|
|
* include/coi/source/COIBuffer_source.h: Ditto.
|
|
* include/coi/source/COIEngine_source.h: Ditto.
|
|
* include/coi/source/COIEvent_source.h: Ditto.
|
|
* include/coi/source/COIPipeline_source.h: Ditto.
|
|
* include/coi/source/COIProcess_source.h: Ditto.
|
|
* include/myo/myo.h: Ditto.
|
|
* include/myo/myoimpl.h: Ditto.
|
|
* include/myo/myotypes.h: Ditto.
|
|
* liboffloadmic_host.spec.in: Ditto.
|
|
* liboffloadmic_target.spec.in: Ditto.
|
|
* runtime/cean_util.cpp: Ditto.
|
|
* runtime/cean_util.h: Ditto.
|
|
* runtime/coi/coi_client.cpp: Ditto.
|
|
* runtime/coi/coi_client.h: Ditto.
|
|
* runtime/coi/coi_server.cpp: Ditto.
|
|
* runtime/coi/coi_server.h: Ditto.
|
|
* runtime/compiler_if_host.cpp: Ditto.
|
|
* runtime/compiler_if_host.h: Ditto.
|
|
* runtime/compiler_if_target.cpp: Ditto.
|
|
* runtime/compiler_if_target.h: Ditto.
|
|
* runtime/dv_util.cpp: Ditto.
|
|
* runtime/dv_util.h: Ditto.
|
|
* runtime/emulator/coi_common.h: Ditto.
|
|
* runtime/emulator/coi_device.cpp: Ditto.
|
|
* runtime/emulator/coi_device.h: Ditto.
|
|
* runtime/emulator/coi_host.cpp: Ditto.
|
|
* runtime/emulator/coi_host.h: Ditto.
|
|
* runtime/emulator/coi_version_asm.h: Ditto.
|
|
* runtime/emulator/coi_version_linker_script.map: Ditto.
|
|
* runtime/emulator/myo_client.cpp: Ditto.
|
|
* runtime/emulator/myo_service.cpp: Ditto.
|
|
* runtime/emulator/myo_service.h: Ditto.
|
|
* runtime/emulator/myo_version_asm.h: Ditto.
|
|
* runtime/emulator/myo_version_linker_script.map: Ditto.
|
|
* runtime/liboffload_error.c: Ditto.
|
|
* runtime/liboffload_error_codes.h: Ditto.
|
|
* runtime/liboffload_msg.c: Ditto.
|
|
* runtime/liboffload_msg.h: Ditto.
|
|
* runtime/mic_lib.f90: Ditto.
|
|
* runtime/offload.h: Ditto.
|
|
* runtime/offload_common.cpp: Ditto.
|
|
* runtime/offload_common.h: Ditto.
|
|
* runtime/offload_engine.cpp: Ditto.
|
|
* runtime/offload_engine.h: Ditto.
|
|
* runtime/offload_env.cpp: Ditto.
|
|
* runtime/offload_env.h: Ditto.
|
|
* runtime/offload_host.cpp: Ditto.
|
|
* runtime/offload_host.h: Ditto.
|
|
* runtime/offload_myo_host.cpp: Ditto.
|
|
* runtime/offload_myo_host.h: Ditto.
|
|
* runtime/offload_myo_target.cpp: Ditto.
|
|
* runtime/offload_myo_target.h: Ditto.
|
|
* runtime/offload_omp_host.cpp: Ditto.
|
|
* runtime/offload_omp_target.cpp: Ditto.
|
|
* runtime/offload_orsl.cpp: Ditto.
|
|
* runtime/offload_orsl.h: Ditto.
|
|
* runtime/offload_table.cpp: Ditto.
|
|
* runtime/offload_table.h: Ditto.
|
|
* runtime/offload_target.cpp: Ditto.
|
|
* runtime/offload_target.h: Ditto.
|
|
* runtime/offload_target_main.cpp: Ditto.
|
|
* runtime/offload_timer.h: Ditto.
|
|
* runtime/offload_timer_host.cpp: Ditto.
|
|
* runtime/offload_timer_target.cpp: Ditto.
|
|
* runtime/offload_trace.cpp: Ditto.
|
|
* runtime/offload_trace.h: Ditto.
|
|
* runtime/offload_util.cpp: Ditto.
|
|
* runtime/offload_util.h: Ditto.
|
|
* runtime/ofldbegin.cpp: Ditto.
|
|
* runtime/ofldend.cpp: Ditto.
|
|
* runtime/orsl-lite/include/orsl-lite.h: Ditto.
|
|
* runtime/orsl-lite/lib/orsl-lite.c: Ditto.
|
|
* runtime/orsl-lite/version.txt: Ditto.
|
|
* runtime/use_mpss2.txt: Ditto.
|