Skip to content

A proof-of-concept Copy-And-Patch JIT compiler backend for Julia

License

Notifications You must be signed in to change notification settings

fatteneder/CopyAndPatch.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CopyAndPatch.jl

CopyAndPatch.jl

Preparing stencils

Prerequisites for stencil generation

  • clang: compiler
  • llvm-readobj: exe
  • libffi: library and headers
  • llvm-mc: exe (for code_native implementation)
  • llvm-objdump: exe (optional for debugging stencils)
  • julia: exe, library and headers; need a local build of this branch which implements exec option for mmap

LLVM dependencies should be from LLVM 17+. You can download prebuild binaries from https://github.com/llvm/llvm-project/releases/tag/llvmorg-17.0.6

Using prebuild binaries can cause warnings like clang: /lib64/libtinfo.so.6: no version information available (required by clang) These have not been of harm yet to my tests.

Compile stencils and helpers:

$ cd stencils
$ source setup.sh # need to update this to your local installation
$ make

Test:

$ julia --project=CopyAndPatch
julia> include("test/runtests.jl")

About

A proof-of-concept Copy-And-Patch JIT compiler backend for Julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages