Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup installation targets #35

Closed
dvrogozh opened this issue Nov 29, 2018 · 12 comments
Closed

Cleanup installation targets #35

dvrogozh opened this issue Nov 29, 2018 · 12 comments
Assignees

Comments

@dvrogozh
Copy link
Contributor

After building IGC with the recommended steps:

$ cd build
$ cmake -DIGC_OPTION__OUTPUT_DIR=../igc-install/Release \
    -DCMAKE_BUILD_TYPE=Release -DIGC_OPTION__ARCHITECTURE_TARGET=Linux64 \
    ../igc/IGC
$ make -j`nproc`

I get the following layout:

.
└── Release
    ├── bif
    │   ├── embedder
    │   │   ├── IGCsize_t_32__igc_bif_BC_120.cpp
    │   │   ├── IGCsize_t_64__igc_bif_BC_121.cpp
    │   │   └── OCLBiFImpl__igc_bif_BC_122.cpp
    │   ├── IBiF_Impl_int.bc
    │   ├── IBiF_Impl_int.bc_IBiF_Impl__cl__0.bc
    │   ├── IBiF_Impl_int.bc_IBiF_Impl__cl__0.bc.tmp
    │   ├── IBiF_Impl_int_spirv.bc
    │   ├── IBiF_Impl_int_spirv.bc_IBiF_Impl__cl__0.bc
    │   ├── IBiF_Impl_int_spirv.bc_IBiF_Impl__cl__0.bc.tmp
    │   ├── IBiF_PreRelease_int.bc
    │   ├── IBiF_PreRelease_int.bc_IBIF_PreRelease_Impl__cl__0.bc
    │   ├── IBiF_PreRelease_int.bc_IBIF_PreRelease_Impl__cl__0.bc.tmp
    │   ├── IBiF_spirv_size_t_32.bc
    │   ├── IBiF_spirv_size_t_32.bc_pointersize__cl__0.bc
    │   ├── IBiF_spirv_size_t_32.bc_pointersize__cl__0.bc.tmp
    │   ├── IBiF_spirv_size_t_64.bc
    │   ├── IBiF_spirv_size_t_64.bc_pointersize__cl__0.bc
    │   ├── IBiF_spirv_size_t_64.bc_pointersize__cl__0.bc.tmp
    │   ├── IGCsize_t_32.bc
    │   ├── IGCsize_t_32.bc__link__0.bc
    │   ├── IGCsize_t_32.bc__link__0.bc.tmp
    │   ├── IGCsize_t_32_int.bc
    │   ├── IGCsize_t_32_int.bc_IBiF_size_t__cl__0.bc
    │   ├── IGCsize_t_32_int.bc_IBiF_size_t__cl__0.bc.tmp
    │   ├── IGCsize_t_64.bc
    │   ├── IGCsize_t_64.bc__link__0.bc
    │   ├── IGCsize_t_64.bc__link__0.bc.tmp
    │   ├── IGCsize_t_64_int.bc
    │   ├── IGCsize_t_64_int.bc_IBiF_size_t__cl__0.bc
    │   ├── IGCsize_t_64_int.bc_IBiF_size_t__cl__0.bc.tmp
    │   ├── igdclbif.bin
    │   ├── OCLBiFImpl.bc
    │   ├── OCLBiFImpl.bc__link__0.bc
    │   ├── OCLBiFImpl.bc__link__0.bc.tmp
    │   └── opencl_cth.h
    ├── clang
    │   └── linux-ubuntu64
    │       ├── clang
    │       ├── common_clang.h
    │       ├── libopencl_clang.so
    │       ├── module.modulemap
    │       ├── opencl-c-20.h
    │       ├── opencl-c-common.h
    │       ├── opencl-c.h
    │       ├── opencl-c-intel.h
    │       ├── opencl-c-platform-12.h
    │       ├── opencl-c-platform-20.h
    │       └── opencl-c-platform.h
    ├── elf_packager
    ├── fcl
    │   └── embedder
    │       └── opencl_cth_IDR_CTH_H_H_133.cpp
    ├── IntrinsicGenISA.gen
    ├── libBiFLibOcl.a
    ├── libCompiler.a
    ├── libCTHLibFcl.a
    ├── libGenISAIntrinsics.a
    ├── libiga64.so
    ├── libiga_enc64.a
    ├── libiga_s64.a
    ├── libigc.so
    ├── libigdfcl.so
    ├── libLocalScheduler.a
    ├── libSPIRV-Tools.a
    └── Tools
        └── GenX_IR

This is most definitely not something I am expecting to see on Linux. Could you, please, change the layout to the Linux standard one (see https://cmake.org/cmake/help/v3.6/module/GNUInstallDirs.html):

  1. Provide applications in the bin folder (CMAKE_INSTALL_BINDIR, defaults to bin)
  2. Provide dynamic libraries in the lib or lib64 or other standard folder (CMAKE_INSTALL_LIBDIR, defaults to lib or lib64 or lib/<multiarch-tuple> on Debian)
  3. Distribute other files accordingly

Other questions/concerns:

  1. Do you really need all the above targets for IGC or GenX_IR to be functional
  2. How I can make sure that GenX_IR lands nearby cm-compiler (it would be obviously so if you would follow standard practices)
  3. Why do you name your targets in the same way other standard package name them? clang is the most obvious example, elf_packager is the next suspect
@dvrogozh
Copy link
Contributor Author

@chivakker : FYI

@chivakker
Copy link

Is it possible to avoid compiling clang_sources, llvm and just use what's installed in the system? I would prefer not needing to compile a handful of packages if there's no actual need. Please fix.

@kmazurki
Copy link
Contributor

Is it possible to avoid compiling clang_sources, llvm and just use what's installed in the system? I would prefer not needing to compile a handful of packages if there's no actual need. Please fix.

@chivakker : This change will be committed with Clang update. Please expect this In a couple of days. If there is a supported version of system LLVM and Clang available, IGC will dynamic link.

@iwwu
Copy link
Contributor

iwwu commented Dec 19, 2018

I want to add an note here. If you do step 5 "sudo make install" on the README, this is what you will get as of today

/usr/local/bin/GenX_IR
/usr/local/lib/{libigc.so, libopencl_clang.so, etc….}
/usr/local/include/{igc, spirv-tools}

Only selected files from ../igc-install/Release are copied over to /usr/local/

@dvrogozh
Copy link
Contributor Author

dvrogozh commented Jan 7, 2019

Thanks. I have tried 'make install' (thanks for adding it to readme) and indeed list of artifacts looks better. Still it requires review and cleanup. I would suggest to check whether you really need all of them. for example, there are few empty folders under include/igc - remove them, please.

I should note that IGC build instruction is confusing in a part of cmake configuration command:
cmake -DIGC_OPTION__OUTPUT_DIR=../igc-install/Release ../igc/IGC

The confusing part is the requirement to have IGC_OPTION__OUTPUT_DIR variable specified while you already work in the user-created folder to store artifacts. Besides that the name you suggest is igc-install/Release which confuses whether you have 'make install' step or not. I would suggest:

  1. Remove IGC_OPTION__OUTPUT_DIR completely
  2. Use user-created build folder to store compiled/linked artifacts (you can create a subfolder if you wish to and reflect the same directory structure as in igc-install/Release if you want to)
  3. Expose only 'make install' as the only valid option to install IGC targets.
    And this should be reflected in readme.
.
├── bin
│   ├── GenX_IR
├── include
│   └── igc
│       ├── cif
│       │   └── cif
│       │       ├── builtins
│       │       │   ├── builtins_registry.h
│       │       │   └── memory
│       │       │       └── buffer
│       │       │           ├── buffer.h
│       │       │           └── impl
│       │       │               └── buffer_impl.h
│       │       ├── common
│       │       │   ├── cif.h
│       │       │   ├── cif_main.h
│       │       │   ├── coder.h
│       │       │   ├── compatibility.h
│       │       │   ├── id.h
│       │       │   ├── library_api.h
│       │       │   └── library_handle.h
│       │       ├── export
│       │       │   ├── build
│       │       │   │   └── binary_version.h
│       │       │   ├── cif_impl.h
│       │       │   ├── cif_main_impl.h
│       │       │   ├── interface_creator.h
│       │       │   ├── library_api.h
│       │       │   ├── muiltiversion.h
│       │       │   ├── pimpl_base.h
│       │       │   └── registry.h
│       │       ├── helpers
│       │       │   ├── error.h
│       │       │   └── memory.h
│       │       ├── import
│       │       │   ├── cif_main.h
│       │       │   └── library_api.h
│       │       ├── macros
│       │       │   ├── disable.h
│       │       │   └── enable.h
│       │       └── os
│       │           ├── lin
│       │           │   └── lin_library_handle.h
│       │           └── win
│       │               └── win_library_handle.h
│       ├── GlobalData.h
│       ├── igc.opencl.h
│       ├── MoveStaticAllocas.h
│       ├── OCL
│       │   ├── BuiltinResource.h
│       │   ├── CommandStream
│       │   │   ├── SamplerTypes.h
│       │   │   └── SurfaceTypes.h
│       │   ├── LoadBuffer.h
│       │   ├── Patch
│       │   │   └── patch_parser.h
│       │   ├── Platform
│       │   │   ├── cmd_3d_def_g8.h
│       │   │   ├── cmd_3d_enum_g8.h
│       │   │   ├── cmd_3d_init_g8.h
│       │   │   ├── cmd_enum_g8.h
│       │   │   ├── cmd_enum.h
│       │   │   ├── cmd_init_g8.h
│       │   │   ├── cmd_media_caps_g8.h
│       │   │   ├── cmd_media_def_g8.h
│       │   │   ├── cmd_media_enum_g8.h
│       │   │   ├── cmd_media_init_g8.h
│       │   │   ├── cmd_mi_def_g8.h
│       │   │   ├── cmd_mi_enum_g8.h
│       │   │   ├── cmd_mi_init_g8.h
│       │   │   ├── cmd_parser_g8.h
│       │   │   ├── cmd_shared_def_g8.h
│       │   │   ├── cmd_shared_enum_g8.h
│       │   │   └── cmd_shared_init_g8.h
│       │   ├── Resource
│       │   │   └── BuiltinResource.h
│       │   ├── sp
│       │   │   ├── gtpin_igc_ocl.h
│       │   │   ├── sp_convert_g8.h
│       │   │   ├── sp_debug.h
│       │   │   ├── sp_g8.h
│       │   │   ├── spp_g8.h
│       │   │   └── sp_types.h
│       │   ├── TB
│       │   │   └── igc_tb.h
│       │   └── util
│       │       └── BinaryStream.h
│       ├── ocl_igc_interface
│       │   ├── code_type.h
│       │   ├── fcl_ocl_device_ctx.h
│       │   ├── fcl_ocl_translation_ctx.h
│       │   ├── gt_system_info.h
│       │   ├── igc_features_and_workarounds.h
│       │   ├── igc_ocl_device_ctx.h
│       │   ├── igc_ocl_translation_ctx.h
│       │   ├── impl
│       │   │   ├── fcl_ocl_device_ctx_impl.h
│       │   │   ├── fcl_ocl_translation_ctx_impl.h
│       │   │   ├── gt_system_info_impl.h
│       │   │   ├── igc_features_and_workarounds_impl.h
│       │   │   ├── igc_ocl_device_ctx_impl.h
│       │   │   ├── igc_ocl_translation_ctx_impl.h
│       │   │   ├── ocl_gen_binary_impl.h
│       │   │   ├── ocl_translation_output_impl.h
│       │   │   └── platform_impl.h
│       │   ├── ocl_gen_binary.h
│       │   ├── ocl_translation_output.h
│       │   ├── platform.h
│       │   └── platform_helper.h
│       ├── ocl_igc_shared
│       │   ├── device_enqueue
│       │   │   ├── device_enqueue_internal_types.h
│       │   │   └── DeviceEnqueueInternalTypes.h
│       │   ├── executable_format
│       │   │   ├── patch_g10.h
│       │   │   ├── patch_g7.h
│       │   │   ├── patch_g8.h
│       │   │   ├── patch_g9.h
│       │   │   ├── patch_list.h
│       │   │   ├── patch_shared.h
│       │   │   └── program_debug_data.h
│       │   └── gtpin
│       │       ├── gtpin_driver_common.h
│       │       └── gtpin_ocl_interface.h
│       ├── PatchList.h
│       ├── SPIRV
│       │   ├── libSPIRV
│       │   │   ├── OpenCL.stdfuncs.h
│       │   │   ├── OpenCL.std.h
│       │   │   ├── SPIRVBasicBlock.h
│       │   │   ├── SPIRVBuiltinEnum.h
│       │   │   ├── SPIRVDebug.h
│       │   │   ├── SPIRVDebugInfoExt.h
│       │   │   ├── SPIRV.DebugInfofuncs.h
│       │   │   ├── SPIRV.DebugInfo.h
│       │   │   ├── SPIRVDecorate.h
│       │   │   ├── SPIRVEntry.h
│       │   │   ├── SPIRVEnum.h
│       │   │   ├── SPIRVErrorEnum.h
│       │   │   ├── SPIRVError.h
│       │   │   ├── SPIRVExtInst.h
│       │   │   ├── SPIRVFunction.h
│       │   │   ├── SPIRVInstruction.h
│       │   │   ├── SPIRVModule.h
│       │   │   ├── SPIRVOpCodeEnum.h
│       │   │   ├── SPIRVOpCode.h
│       │   │   ├── SPIRVStream.h
│       │   │   ├── SPIRVType.h
│       │   │   ├── SPIRVUtil.h
│       │   │   └── SPIRVValue.h
│       │   ├── Mangler
│       │   │   ├── ParameterType.h
│       │   │   └── Refcount.h
│       │   ├── SPIRVconsum.h
│       │   ├── SPIRVException.h
│       │   ├── SPIRVInternal.h
│       │   └── SPIRV-Tools
│       │       ├── cmake
│       │       ├── external
│       │       │   └── SPIRV-Headers
│       │       │       ├── include
│       │       │       │   └── spirv
│       │       │       │       ├── 1.0
│       │       │       │       │   ├── GLSL.std.450.h
│       │       │       │       │   ├── OpenCL.std.h
│       │       │       │       │   └── spirv.h
│       │       │       │       ├── 1.1
│       │       │       │       │   ├── GLSL.std.450.h
│       │       │       │       │   ├── OpenCL.std.h
│       │       │       │       │   └── spirv.h
│       │       │       │       ├── 1.2
│       │       │       │       │   ├── GLSL.std.450.h
│       │       │       │       │   ├── OpenCL.std.h
│       │       │       │       │   └── spirv.h
│       │       │       │       └── unified1
│       │       │       │           ├── GLSL.std.450.h
│       │       │       │           ├── OpenCL.std.h
│       │       │       │           └── spirv.h
│       │       │       └── tools
│       │       │           └── buildHeaders
│       │       │               ├── bin
│       │       │               ├── header.h
│       │       │               ├── jsoncpp
│       │       │               │   └── dist
│       │       │               │       └── json
│       │       │               │           ├── json-forwards.h
│       │       │               │           └── json.h
│       │       │               └── jsonToSpirv.h
│       │       ├── include
│       │       │   ├── spirv
│       │       │   │   ├── 1.0
│       │       │   │   │   ├── GLSL.std.450.h
│       │       │   │   │   ├── OpenCL.std.h
│       │       │   │   │   └── spirv.h
│       │       │   │   ├── 1.1
│       │       │   │   │   ├── GLSL.std.450.h
│       │       │   │   │   ├── OpenCL.std.h
│       │       │   │   │   └── spirv.h
│       │       │   │   ├── 1.2
│       │       │   │   │   ├── GLSL.std.450.h
│       │       │   │   │   ├── OpenCL.std.h
│       │       │   │   │   └── spirv.h
│       │       │   │   └── unified1
│       │       │   │       ├── GLSL.std.450.h
│       │       │   │       ├── OpenCL.std.h
│       │       │   │       └── spirv.h
│       │       │   └── spirv-tools
│       │       │       └── libspirv.h
│       │       ├── source
│       │       │   ├── assembly_grammar.h
│       │       │   ├── binary.h
│       │       │   ├── cfa.h
│       │       │   ├── diagnostic.h
│       │       │   ├── disassemble.h
│       │       │   ├── enum_set.h
│       │       │   ├── enum_string_mapping.h
│       │       │   ├── extensions.h
│       │       │   ├── ext_inst.h
│       │       │   ├── id_descriptor.h
│       │       │   ├── instruction.h
│       │       │   ├── latest_version_glsl_std_450_header.h
│       │       │   ├── latest_version_opencl_std_header.h
│       │       │   ├── latest_version_spirv_header.h
│       │       │   ├── macro.h
│       │       │   ├── name_mapper.h
│       │       │   ├── opcode.h
│       │       │   ├── operand.h
│       │       │   ├── parsed_operand.h
│       │       │   ├── print.h
│       │       │   ├── spirv_constant.h
│       │       │   ├── spirv_definition.h
│       │       │   ├── spirv_endian.h
│       │       │   ├── spirv_optimizer_options.h
│       │       │   ├── spirv_target_env.h
│       │       │   ├── spirv_validator_options.h
│       │       │   ├── table.h
│       │       │   ├── text.h
│       │       │   ├── text_handler.h
│       │       │   ├── util
│       │       │   │   ├── bitutils.h
│       │       │   │   ├── bit_vector.h
│       │       │   │   ├── hex_float.h
│       │       │   │   ├── ilist.h
│       │       │   │   ├── ilist_node.h
│       │       │   │   ├── make_unique.h
│       │       │   │   ├── parse_number.h
│       │       │   │   ├── small_vector.h
│       │       │   │   ├── string_utils.h
│       │       │   │   └── timer.h
│       │       │   └── val
│       │       │       ├── basic_block.h
│       │       │       ├── construct.h
│       │       │       ├── decoration.h
│       │       │       ├── function.h
│       │       │       ├── instruction.h
│       │       │       ├── validate.h
│       │       │       └── validation_state.h
│       │       └── utils
│       ├── TranslationBlock.h
│       └── Upgrader
│           ├── llvm4
│           │   ├── BitcodeReader.h
│           │   ├── MetadataLoader.h
│           │   ├── Upgrader.h
│           │   └── ValueList.h
│           └── llvm7
│               ├── BitcodeReader.h
│               ├── MetadataLoader.h
│               ├── Upgrader.h
│               └── ValueList.h
└── lib
    ├── libiga64.so
    ├── libigc.so
    ├── libigdfcl.so
    ├── libopencl_clang.so
    └── pkgconfig
        └── igc-opencl.pc

@paigeale paigeale self-assigned this Jan 11, 2019
@tjaalton
Copy link

tjaalton commented Feb 7, 2019

Yeah, I'm (trying) to package this for Debian/Ubuntu, and wondering which headers could be dropped from the installed list, since the distro already has spirv-tools & -headers packaged, for instance..

@paigeale
Copy link
Contributor

paigeale commented Mar 7, 2019

Hello tjaalton,

To package this run the following commands after running make:

strip <Build_type>/*.so <Build_type>/Tools/GenX_IR
make package

You should see the following packages show up in your current directory:
intel-igc-core_0.1-0_amd64.deb
intel-igc-media_0.1-0_amd64.deb
intel-igc-opencl_0.1-0_amd64.deb
intel-igc-opencl-devel_0.1-0_amd64.deb

@paigeale
Copy link
Contributor

paigeale commented Mar 7, 2019

Also the package "intel-igc-opencl-devel_0.1-0_amd64.deb" does not include spirv-tools

@tjaalton
Copy link

tjaalton commented Mar 7, 2019

the resulting -opencl-devel surely has usr/include/igc/SPIRV/SPIRV-Tools/*, and it actually has spirv headers twice in the repo too, both under SPIRV-Tools/include and external/...

IGC should be able to build with spirv-headers etc from the system

@paigeale
Copy link
Contributor

Installation targets are all cleaned up with 630d16b.
This also removes the copying over of spirv headers or tools

@dvrogozh
Copy link
Contributor Author

After 630d16b install tree looks as follows (common_clang files are from https://github.com/intel/opencl-clang install). I don't see intersections w/ other projects after that.

[dvrogozh@dvrscl install.llvm8.igc]$ tree
.
├── bin
│   ├── GenX_IR
│   └── iga64
├── include
│   ├── cclang
│   │   └── common_clang.h
│   └── igc
│       ├── cif
│       │   ├── cif
│       │   │   ├── builtins
│       │   │   │   ├── builtins_registry.cpp
│       │   │   │   ├── builtins_registry.h
│       │   │   │   └── memory
│       │   │   │       └── buffer
│       │   │   │           ├── buffer.h
│       │   │   │           └── impl
│       │   │   │               ├── buffer_impl.cpp
│       │   │   │               └── buffer_impl.h
│       │   │   ├── CMakeLists.txt
│       │   │   ├── common
│       │   │   │   ├── cif.h
│       │   │   │   ├── cif_main.h
│       │   │   │   ├── coder.h
│       │   │   │   ├── compatibility.h
│       │   │   │   ├── id.h
│       │   │   │   ├── library_api.h
│       │   │   │   └── library_handle.h
│       │   │   ├── export
│       │   │   │   ├── build
│       │   │   │   │   └── binary_version.h
│       │   │   │   ├── cif_impl.h
│       │   │   │   ├── cif_main.cpp
│       │   │   │   ├── cif_main_impl.h
│       │   │   │   ├── interface_creator.h
│       │   │   │   ├── library_api.h
│       │   │   │   ├── muiltiversion.h
│       │   │   │   ├── pimpl_base.h
│       │   │   │   ├── registry.cpp
│       │   │   │   └── registry.h
│       │   │   ├── helpers
│       │   │   │   ├── error.cpp
│       │   │   │   ├── error.h
│       │   │   │   └── memory.h
│       │   │   ├── import
│       │   │   │   ├── cif_main.cpp
│       │   │   │   ├── cif_main.h
│       │   │   │   └── library_api.h
│       │   │   ├── macros
│       │   │   │   ├── disable.h
│       │   │   │   └── enable.h
│       │   │   └── os
│       │   │       ├── lin
│       │   │       │   ├── lin_library_handle.cpp
│       │   │       │   └── lin_library_handle.h
│       │   │       └── win
│       │   │           ├── win_library_handle.cpp
│       │   │           └── win_library_handle.h
│       │   └── CMakeLists.txt
│       ├── igc.opencl.h
│       ├── ocl_igc_interface
│       │   ├── code_type.h
│       │   ├── fcl_ocl_device_ctx.h
│       │   ├── fcl_ocl_translation_ctx.h
│       │   ├── gt_system_info.h
│       │   ├── igc_features_and_workarounds.h
│       │   ├── igc_ocl_device_ctx.h
│       │   ├── igc_ocl_translation_ctx.h
│       │   ├── impl
│       │   │   ├── fcl_ocl_device_ctx_impl.cpp
│       │   │   ├── fcl_ocl_device_ctx_impl.h
│       │   │   ├── fcl_ocl_translation_ctx_impl.cpp
│       │   │   ├── fcl_ocl_translation_ctx_impl.h
│       │   │   ├── gt_system_info_impl.cpp
│       │   │   ├── gt_system_info_impl.h
│       │   │   ├── igc_features_and_workarounds_impl.cpp
│       │   │   ├── igc_features_and_workarounds_impl.h
│       │   │   ├── igc_ocl_device_ctx_impl.cpp
│       │   │   ├── igc_ocl_device_ctx_impl.h
│       │   │   ├── igc_ocl_translation_ctx_impl.cpp
│       │   │   ├── igc_ocl_translation_ctx_impl.h
│       │   │   ├── ocl_gen_binary_impl.cpp
│       │   │   ├── ocl_gen_binary_impl.h
│       │   │   ├── ocl_translation_output_impl.cpp
│       │   │   ├── ocl_translation_output_impl.h
│       │   │   ├── platform_impl.cpp
│       │   │   └── platform_impl.h
│       │   ├── ocl_gen_binary.h
│       │   ├── ocl_translation_output.h
│       │   ├── platform.h
│       │   └── platform_helper.h
│       └── ocl_igc_shared
│           ├── device_enqueue
│           │   ├── device_enqueue_internal_types.h
│           │   └── DeviceEnqueueInternalTypes.h
│           ├── executable_format
│           │   ├── patch_g10.h
│           │   ├── patch_g7.h
│           │   ├── patch_g8.h
│           │   ├── patch_g9.h
│           │   ├── patch_list.h
│           │   ├── patch_shared.h
│           │   └── program_debug_data.h
│           └── gtpin
│               ├── gtpin_driver_common.h
│               └── gtpin_ocl_interface.h
└── lib
    ├── libcommon_clang.so -> libcommon_clang.so.8
    ├── libcommon_clang.so.8
    ├── libiga64.so
    ├── libigc.so
    ├── libigdfcl.so
    └── pkgconfig
        └── igc-opencl.pc

27 directories, 86 files

@iwwu
Copy link
Contributor

iwwu commented Mar 12, 2019

also available on igc_release_2019-03-12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants