-
Create a Github account, if you do not have one.
-
Setup your github account to use ssh.
-
Setup your github account to use a token.
-
Install github tools,
brew install gh -
Install the token into github tools.
-
At GitHub make sure your token has "read:packages" scope. 7Fork facebookresearch/diffkt to you github account.
-
Clone the fork to your local computer.
gh repo clone {github-id}/diffkt -
Check your local DiffKt project to see if the original facebookresearch/diffkt.git is upstream,
cd {your git projects}/diffktgit remote -vYou should see
origin git@github.com:{gethub id}/diffkt.git (fetch)origin git@github.com:{gethub id}/diffkt.git (push)upstream git@github.com:facebookresearch/diffkt.git (fetch)upstream git@github.com:facebookresearch/diffkt.git (push)If you are missing upstream, execute the following.
git remote add upstream git@github.com:facebookresearch/diffkt.git -
Read the github docs for merging your local repository with upstream,
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork -
Create the file
diffkt\kotlin\github.envwith the following information in it,GITHUB_ACTOR={your username}GITHUB_TOKEN={your access token with the read:packages permission} -
TBD, Instructions on C++ build enviroment.
-
In general, pull from upstream and merge, but checkin to origin (your fork) and do a pull request to merge with upstream,
-
Install Oracle JDK 11
-
Set
JAVA_HOMEto point to Oracle JDK 11 -
Add
$JAVA_HOME/binto yourPATHin your shell initialization file,export PATH = ${PATH}:$JAVA_HOME/bin -
Add the following environmental variables in your shell initialization file:
export JAVA_INCLUDE_PATH=$JAVA_HOME/include/
export JAVA_INCLUDE_PATH2=$JAVA_HOME/include/linux/
export JAVA_AWT_INCLUDE_PATH=$JAVA_HOME/include/
-
Reinitialize your shell.
-
Install Brew if it is not installed,
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Install the following packages using Brew,
brew install cmakebrew install onednnbrew install libompbrew install eigen -
Build the cpp/ops directory,
pushd cpp/opsmkdir -p build && cd buildcmake -DCMAKE_PREFIX_PATH=$DNNL_PATH ..make -j && CTEST_OUTPUT_ON_FAILURE=1 make testpopd -
Build the cpp/gpuops directory,
TBD
-
Build the Kotlin system
pushd kotlin./gradlew clean./gradlew buildpopd