8000 GitHub - jaegukLee/EMDC_llvm: Intel staging area for llvm.org contribution. Home for Intel LLVM-based projects.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jaegukLee/EMDC_llvm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SYCL compiler for dynamic rebinding

This project is for providing transparency and dynamic rebinding of the use of heterogeneous accelerators on edge micro data centers

Ready for dynamic rebinding

Compile sycl code for multiple target backends with linker option to specify file offset of clang offload section

e.g. clang++ -fsycl -fsycl-targets=[backend list] main.cpp -Xlink [linker arg] (-Xlink [linker arg]) -o out.exe

[backends list] : comma seperated list

spir64_x86_64 for Intel CPU backend  
spir64_gen for Intel GPU (ComputeCpp) backend  
spir64_fpga for Intel FPGA backend(emulation or real device)  
nvptx64 for NVIDIA PTX backend* (llvm should be configured *cuda enabled and compiled to use this target)  

[linker arg] : argument of GNU linker 'ld'

--section-start <section_name>=<address>  
<section_name> : __CLANG_OFFLOAD_BUNDLE__sycl-{target backend}    
[address] should be greater than any other section's address

Work-in-progress

Implementing SYCL ELF strip tool.

  1. parse arguments
  2. validate if the input,sycl ELF, is ready for dynamic rebinding file offsets of clang offload sections should be greater than other sections will be loaded into memory.
  3. dump contents of not selected clang offload sections. --dump-section
  4. empty the selected section(s)
  5. save stripped sycl elf

Forked from

Intel LLVM-based projects (https://github.com/intel/llvm)

README.md from Intel LLVM-based projects as below:

oneAPI Data Parallel C++ compiler

See sycl branch and DPC++ Documentation.

Linux Post Commit Checks Generate Doxygen documentation

DPC++ is an open, cross-architecture language built upon the ISO C++ and Khronos SYCL* standards. DPC++ extends these standards with a number of extensions, which can be found in sycl/doc/extensions directory.

Late-outline OpenMP* and OpenMP* Offload

See openmp branch.

License

See LICENSE.txt for details.

Contributing

See CONTRIBUTING.md for details.

*Other names and brands may be claimed as the property of others.

About

Intel staging area for llvm.org contribution. Home for Intel LLVM-based projects.

Resources

Stars

Watchers

Forks

Packages

No packages published
0