This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Import liboffloadmic from upstream
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Ilya Verbin <iverbin at gmail dot com>, Dodji Seketeli <dseketel at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Mon, 31 Aug 2015 16:49:53 +0200
- Subject: Re: [PATCH] Import liboffloadmic from upstream
- Authentication-results: sourceware.org; auth=none
- References: <20150831132349 dot GA5011 at msticlxl57 dot ims dot intel dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Aug 31, 2015 at 04:23:49PM +0300, Ilya Verbin wrote:
> Hi!
>
> This patch contains an update for liboffloadmic, imported from
> <https://openmprtl.org/download>, version 20150803.
>
> Two major new features are:
> 1. Unloading of loaded images from target device.
> 2. Callback support for asynchronous execution.
>
> make check passed. Is it ok for trunk?
1) Is the library backwards ABI compatible? Can you run e.g.
libabigail abidiff in between the unpatched and patched version?
2) the *.map changes look wrong, when adding symbols to a symbol versioned
shared library, new symbols shouldn't be added to existing symbol
version, but to a new symbol version (so e.g. MYO_1.0.1 (or MYO_1.1)
and COI_1.0.1 (or COI_1.1))
> liboffloadmic/
> * Makefile.am (liboffloadmic_host_la_DEPENDENCIES): Remove libcoi_host
> and libmyo-client. liboffloadmic_host loads them dynamically.
> * Makefile.in: Regenerate.
> * doc/doxygen/header.tex: Merge from upstream, version 20150803
> <https://openmprtl.org/sites/default/files/liboffload_oss_20150803.tgz>.
> * runtime/cean_util.cpp: Likewise.
> * runtime/cean_util.h: Likewise.
> * runtime/coi/coi_client.cpp: Likewise.
> * runtime/coi/coi_client.h: Likewise.
> * runtime/coi/coi_server.cpp: Likewise.
> * runtime/coi/coi_server.h: Likewise.
> * runtime/compiler_if_host.cpp: Likewise.
> * runtime/compiler_if_host.h: Likewise.
> * runtime/compiler_if_target.cpp: Likewise.
> * runtime/compiler_if_target.h: Likewise.
> * runtime/dv_util.cpp: Likewise.
> * runtime/dv_util.h: Likewise.
> * runtime/liboffload_error.c: Likewise.
> * runtime/liboffload_error_codes.h: Likewise.
> * runtime/liboffload_msg.c: Likewise.
> * runtime/liboffload_msg.h: Likewise.
> * runtime/mic_lib.f90: Likewise.
> * runtime/offload.h: Likewise.
> * runtime/offload_common.cpp: Likewise.
> * runtime/offload_common.h: Likewise.
> * runtime/offload_engine.cpp: Likewise.
> * runtime/offload_engine.h: Likewise.
> * runtime/offload_env.cpp: Likewise.
> * runtime/offload_env.h: Likewise.
> * runtime/offload_host.cpp: Likewise.
> * runtime/offload_host.h: Likewise.
> * runtime/offload_iterator.h: Likewise.
> * runtime/offload_myo_host.cpp: Likewise.
> * runtime/offload_myo_host.h: Likewise.
> * runtime/offload_myo_target.cpp: Likewise.
> * runtime/offload_myo_target.h: Likewise.
> * runtime/offload_omp_host.cpp: Likewise.
> * runtime/offload_omp_target.cpp: Likewise.
> * runtime/offload_orsl.cpp: Likewise.
> * runtime/offload_orsl.h: Likewise.
> * runtime/offload_table.cpp: Likewise.
> * runtime/offload_table.h: Likewise.
> * runtime/offload_target.cpp: Likewise.
> * runtime/offload_target.h: Likewise.
> * runtime/offload_target_main.cpp: Likewise.
> * runtime/offload_timer.h: Likewise.
> * runtime/offload_timer_host.cpp: Likewise.
> * runtime/offload_timer_target.cpp: Likewise.
> * runtime/offload_trace.cpp: Likewise.
> * runtime/offload_trace.h: Likewise.
> * runtime/offload_util.cpp: Likewise.
> * runtime/offload_util.h: Likewise.
> * runtime/ofldbegin.cpp: Likewise.
> * runtime/ofldend.cpp: Likewise.
> * runtime/orsl-lite/include/orsl-lite.h: Likewise.
> * runtime/orsl-lite/lib/orsl-lite.c: Likewise.
> * runtime/use_mpss2.txt: Likewise.
> * include/coi/common/COIEngine_common.h: Merge from upstream, MPSS
> version 3.5
> <http://registrationcenter.intel.com/irc_nas/7445/mpss-src-3.5.tar>.
> * include/coi/common/COIEvent_common.h: Likewise.
> * include/coi/common/COIMacros_common.h: Likewise.
> * include/coi/common/COIPerf_common.h: Likewise.
> * include/coi/common/COIResult_common.h: Likewise.
> * include/coi/common/COISysInfo_common.h: Likewise.
> * include/coi/common/COITypes_common.h: Likewise.
> * include/coi/sink/COIBuffer_sink.h: Likewise.
> * include/coi/sink/COIPipeline_sink.h: Likewise.
> * include/coi/sink/COIProcess_sink.h: Likewise.
> * include/coi/source/COIBuffer_source.h: Likewise.
> * include/coi/source/COIEngine_source.h: Likewise.
> * include/coi/source/COIEvent_source.h: Likewise.
> * include/coi/source/COIPipeline_source.h: Likewise.
> * include/coi/source/COIProcess_source.h: Likewise.
> * include/myo/myo.h: Likewise.
> * include/myo/myoimpl.h: Likewise.
> * include/myo/myotypes.h: Likewise.
> * plugin/Makefile.am (myo_inc_dir): Remove.
> (libgomp_plugin_intelmic_la_CPPFLAGS): Do not define MYO_SUPPORT.
> (AM_CPPFLAGS): Likewise for offload_target_main.
> * plugin/Makefile.in: Regenerate.
> * runtime/emulator/coi_common.h: Update copyright years.
> (OFFLOAD_EMUL_KNC_NUM_ENV): Replace with ...
> (OFFLOAD_EMUL_NUM_ENV): ... this.
> (enum cmd_t): Add CMD_CLOSE_LIBRARY.
> * runtime/emulator/coi_device.cpp: Update copyright years.
> (COIProcessWaitForShutdown): Add space between string constants.
> Return handle to host in CMD_OPEN_LIBRARY.
> Support CMD_CLOSE_LIBRARY.
> * runtime/emulator/coi_device.h: Update copyright years.
> * runtime/emulator/coi_host.cpp: Update copyright years.
> (knc_engines_num): Replace with ...
> (num_engines): ... this.
> (init): Replace OFFLOAD_EMUL_KNC_NUM_ENV with OFFLOAD_EMUL_NUM_ENV.
> (COIEngineGetCount): Replace COI_ISA_KNC with COI_ISA_MIC, and
> knc_engines_num with num_engines.
> (COIEngineGetHandle): Likewise.
> (COIProcessCreateFromMemory): Add space between string constants.
> (COIProcessCreateFromFile): New function.
> (COIProcessLoadLibraryFromMemory): Rename arguments according to
> COIProcess_source.h. Return handle, received from target.
> (COIProcessUnloadLibrary): New function.
> (COIPipelineClearCPUMask): New function.
> (COIPipelineSetCPUMask): New function.
> (COIEngineGetInfo): New function.
> * runtime/emulator/coi_host.h: Update copyright years.
> * runtime/emulator/coi_version_asm.h: Regenerate.
> * runtime/emulator/coi_version_linker_script.map: Regenerate.
> * runtime/emulator/myo_client.cpp: Update copyright years.
> * runtime/emulator/myo_service.cpp: Update copyright years.
> (myoArenaRelease): New function.
> (myoArenaAcquire): New function.
> (myoArenaAlignedFree): New function.
> (myoArenaAlignedMalloc): New function.
> * runtime/emulator/myo_service.h: Update copyright years.
> * runtime/emulator/myo_version_asm.h: Regenerate.
> * runtime/emulator/myo_version_linker_script.map: Regenerate.
Jakub