Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

10485760 bodies, total time for 10 iterations: 401572.656 ms
= 2738.014 billion interactions per second
= 54760.284 single-precision GFLOP/s at 20 flops per interactionapt-mark hold 5.15.0-72-genericapt-mark unhold 5.15.0-72-genericGetting started with Marimo.
Getting Started with Siemens EDA Tools.
ssh -Y -J <username>@login.excl.ornl.gov <username>@dragonsource /opt/Siemens/setup.sh $ ssh -D 9090 <Username>@login.excl.ornl.govDynamicForward 9090
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysssh-copy-id login.excl.ornl.govstages:
- docs
- deploy_docs
before_script:
- source /auto/ciscratch/conda/etc/profile.d/conda.sh
- conda env create --force -p ./envs -f environment.yml
- conda activate ./envs
docs-job:
tags: [devdocs]
stage: docs
script:
- cd docs
- pip install sphinx sphinx-rtd-theme sphinx-serve recommonmark myst_parser sphinx-autoapi
- make html
artifacts:
paths:
- docs/_build/html
.deploy_docs_common:
tags: [devdocs]
stage: deploy_docs
needs: [docs-job]
script:
- rsync -a --delete docs/_build/html/ ~/www/brisbane/hunter
deploy_docs-job:
extends: .deploy_docs_common
only:
refs:
- develop
deploy_docs_manual-job:
extends: .deploy_docs_common
when: manual## mpi_hello_world.c
#include <mpi.h>
#include <stdio.h>
int main(int argc, char** argv) {
// Initialize the MPI environment
MPI_Init(NULL, NULL);
// Get the number of processes
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
// Get the rank of the process
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
// Get the name of the processor
char processor_name[MPI_MAX_PROCESSOR_NAME];
int name_len;
MPI_Get_processor_name(processor_name, &name_len);
// Print off a hello world message
printf("Hello world from processor %s, rank %d out of %d processors\n",
processor_name, world_rank, world_size);
// Finalize the MPI environment.
MPI_Finalize();
}$ which mpicc
/opt/nvidia/hpc_sdk/Linux_x86_64/24.5/comm_libs/openmpi/openmpi-3.1.5/bin/mpicc$ mpicc ./mpi_hello_world.c$ mpirun -np 4 -mca coll_hcoll_enable 0 ./a.out
--------------------------------------------------------------------------
[[63377,1],2]: A high-performance Open MPI point-to-point messaging module
was unable to find any relevant network interfaces:
Module: OpenFabrics (openib)
Host: milan0
Another transport will be used instead, although this may result in
lower performance.
NOTE: You can disable this warning by setting the MCA parameter
btl_base_warn_component_unused to 0.
--------------------------------------------------------------------------
Hello world from processor milan0.ftpn.ornl.gov, rank 2 out of 4 processors
Hello world from processor milan0.ftpn.ornl.gov, rank 0 out of 4 processors
Hello world from processor milan0.ftpn.ornl.gov, rank 1 out of 4 processors
Hello world from processor milan0.ftpn.ornl.gov, rank 3 out of 4 processorshsm@secretariat:~$ module load gnu
hsm@secretariat:~$ module avail
---------------- /usr/share/lmod/lmod/modulefiles ----------------
Core/lmod/6.6 Core/settarg/6.6
------ /auto/software/swtree/ubuntu20.04/x86_64/modulefiles ------
anaconda/3 git/2.38.0 julia/1.8.0
cmake/3.22.5 gnu/10.2.0 llvm/8.0.1
gcc/10.2.0 gnu/11.1.0 llvm/13.0.1
gcc/11.1.0 gnu/11.3.0 llvm/14.0.0 (D)
gcc/11.3.0 gnu/12.1.0 (L,D)
gcc/12.1.0 (D) hipsycl/0.9.2
Where:
L: Module is loaded
D: Default Module
.setup:
tags: [shell]
before_script:
- source /auto/ciscratch/spack/share/spack/setup-env.sh
- source /auto/ciscratch/conda/etc/profile.d/conda.sh
build:
extends: [.setup]
script:
- spack env create -d . spack.yaml
- spack env activate .
- spack install
- conda create -p ./envs
- conda activate ./envs
- conda install pip<a target="_new" href="/.gitbook/assets/ssh_import_pub_key.png"><img src="screenshots/ssh_import_pub_key.png" style="border-style:ridge;border-color:#bfbfbf;border-width:1px;width:550px;" /></a># Download the installer
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# Run the installer
bash Miniconda3-latest-Linux-x86_64.shconda update -n base conda
conda install -n base conda-libmamba-solver
conda config --set solver libmamba# Install spack by checking out the right branch to /home
git clone https://github.com/spack/spack /home/$USER/spack
cd /home/$USER/spack
git checkout releases/latest # or release/v0.16
# Install a spack compiler to use as the default
spack install [email protected]
spack compiler add $(spack location -i [email protected])
# Add Spack to bashrc.
cat >> ~/.bashrc << 'EOL'
# Setup Spack
if [ -f "/home/$USER/spack/share/spack/setup-env.sh" ]; then
source /home/$USER/spack/share/spack/setup-env.sh
fi
EOL
$ ssh -L <localport>:<hostname>:22 <Username>@login.excl.ornl.gov127.0.0.1 <hostname>
::1 <hostname>module load ollamahttp_proxy=http://proxy.ftpn.ornl.gov:3128
https_proxy=http://proxy.ftpn.ornl.gov:3128



Host *
ForwardAgent yesHost code.ornl.gov bitbucket.org github.com
ProxyJump logingit config --global url."[email protected]:".insteadOf https://code.ornl.gov/ssh-keygencat ~/.ssh/id_rsa.pub$ ssh login.excl.ornl.gov
[email protected]'s password:
Permission denied, please try again.$ ssh login.excl.ornl.gov
ssh: connect to host login.excl.ornl.gov port 22: Operation timed out"julia.executablePath": "/auto/software/swtree/ubuntu22.04/x86_64/julia/1.10.4/bin/julia"

apptainer registry login -u ${email_address} oras://camden.ornl.govapptainer registry logout oras://camden.ornl.govapptainer pull <myimage>.sif oras://camden.ornl.gov/<myproject>/<myimage>[:<tag>]apptainer push <myimage>.sif oras://camden.ornl.gov/<myproject>/<myimage>[:<tag>]bind path = /scratch
bind path = /etc/localtime
bind path = /etc/hosts
bind path = /var/opt/thinlinc
bind path = /autoon:
issue_comment:
types: [created]mkdir -p /scratch/$USER/.config/systemd
ln -s /scratch/$USER/.config/systemd /home/$USER/.config/systemdcurl -o actions-runner-linux-x64-2.311.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-linux-x64-2.311.0.tar.gz
tar xzf ./actions-runner-linux-x64-2.311.0.tar.gz./config.sh --url <url> --token <token>patch -p1 < /auto/software/github-runner/excl-patch.diffloginctl enable-linger./svc.sh install./svc.sh start
./svc.sh statussystemctl --user disable <service namesystemctl --user enable <service name>./svc.sh stop./svc.sh uninstall%environment are available only after the build, so if you need access to them for the build, define them in the %post section.

- name: Verify actor
env:
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}}
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}}
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN)
id: check
run: |
echo "triggered=true" >> $GITHUB_OUTPUT- name: GitHub API Request
if: steps.check.outputs.triggered == 'true'
id: request
uses: octokit/[email protected]
with:
route: ${{github.event.issue.pull_request.url}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}- name: Create PR status
if: steps.check.outputs.triggered == 'true'
uses: geekdude/[email protected]
with:
authToken: ${{ secrets.GITHUB_TOKEN }}
context: "ci-gpu-AMD ${{ matrix.jobname }}"
state: "pending"
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}- name: Report PR status
if: always() && steps.check.outputs.triggered == 'true'
uses: geekdude/[email protected]
with:
authToken: ${{ secrets.GITHUB_TOKEN }}
context: "ci-GPU-AMD ${{matrix.jobname}}"
state: ${{job.status}}
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}Getting started with Jupyter Notebook.
Host excl
HostName login.excl.ornl.gov
IdentityFile ~/.ssh/id_rsa
Host quad00
HostName quad00
ProxyCommand c:/Windows\System32\OpenSSH/ssh.exe -W %h:%p excl
IdentityFile ~/.ssh/id_rsa
Host *
User <Username>
ForwardAgent yes
ForwardX11 yesHost excl
HostName login.excl.ornl.gov
IdentityFile ~/.ssh/id_rsa
Host quad00
HostName quad00
ProxyJump excl
IdentityFile ~/.ssh/id_rsa
Host *
User <Username>
ForwardAgent yes
ForwardX11 yes# Make sure you're running as an Administrator
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Get-Service ssh-agent# Start the SSH Agent
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval $(ssh-agent -s)
# ssh-add
fifunction pvenv --wraps='python3 -m venv --upgrade-deps venv' --description 'Create and activate a python virtual environment in .venv with updated pip and prompt set to the folder\'s name'
if test -e .venv/bin/activate.fish
echo Using existing `.venv`.
source .venv/bin/activate.fish
else
echo Creating new `.venv`.
python3 -m venv --upgrade-deps --prompt (basename $PWD) .venv $argv; and source .venv/bin/activate.fish;
end
endpython3 -m venv --upgrade-deps --prompt $(basename $PWD) .venv
source .venv/bin/activatepython3 -m venv --upgrade-deps --prompt (basename $PWD) .venv
source .venv/bin/activate.fishusage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps]
[--without-scm-ignore-files]
ENV_DIR [ENV_DIR ...]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
options:
-h, --help show this help message and exit
--system-site-packages
Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when
symlinks are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory
if it already exists, before environment creation.
--upgrade Upgrade the environment directory to use this
version of Python, assuming Python has been
upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
--prompt PROMPT Provides an alternative prompt prefix for this
environment.
--upgrade-deps Upgrade core dependencies (pip) to the latest
version in PyPI
--without-scm-ignore-files
Skips adding SCM ignore files to the environment
directory (Git is supported by default).
Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.uv venv --python <version>uv venv --python 3.11uv python list



ssh login.excl.ornl.govssh milan1srun -J groq_interactive -p groq --exclusive --gres="groq:card:1" --pty bashsbatch -J groq_batch -p groq --exclusive --gres="groq:card:1" run.sh#SBATCH --job-name=groq_batch
#SBATCH --partition=groq
#SBATCH --exclusive
#SBATCH --gres="groq:card:1"
.../usr/bin/python3.8/usr/bin/python3.8 -m pip install --user jupyterconda create -n groqflow python=3.8.13
conda activate groqflowhttp://localhost:8888/?token=<token>









$ ssh -L 8888:localhost:8888 pcie $ jupyter notebookpip install ipykernel
ipython kernel install --user --name=<any_name_for_kernel>jupyter kernelspec listjupyter kernelspec uninstall <unwanted-kernel>export REMOTE_PORT=8888
export LOCAL_PORT=8888ssh -L $LOCAL_PORT:localhost:$REMOTE_PORT -J [email protected] $USER@pciemodule load anaconda3 $ ssh -L 8888:localhost:8888 <username>@login.excl.ornl.gov $ ssh -L 8888:localhost:8888 pcie $ jupyter notebookexport REMOTE_PORT=8888
jupyter notebook --port $REMOTE_PORT















git checkout -b branch_namesudo apt-get install git
sudo apt-get update git/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew upgrade gitgit config --global user.name "your_username"
git config --global user.email "[email protected]"git clone [email protected]:ex-cl/user-documentation.gitgit --versionsudo yum install git
sudo yum update gitgit pull origin branch_namegit add --allgit commit -m "descriptive text about your changes"git pushvi, press i for insert. Now you can add content.sudo apt-get install git
sudo apt-get update git/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew upgrade gitgit config --global user.name "your_username"
git config --global user.email "[email protected]"cd /home/user/projects/git clone [email protected]:2ws/example-project.git
cd example-project/touch README.mdgit add README.md
git commit -m "add README"
git push -u origin mastergit add README.md
git commit -m "added a description of the repository"
git push --set-upstream origin adding-readmegit --versionsudo yum install git
sudo yum update gitgit checkout adding-readmevi README.mdgit checkout development
git merge --no-ff mastercd projects/
ls
GitHub/ GitLab/
cd GitHub/
git config --local user.name "Jane Doe"
git config --local user.email "[email protected]"$ git status
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md$ git checkout -- README.md
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> read-megit commit -m 'initial commit'
git add forgotten_file
git commit --amend# ignore all .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore all .pdf files in the doc/ directory and any of its subdirectories
doc/**/*.pdfOverview of ExCL Systems
git --versionsudo yum install git
sudo yum update git$ git branch -r
origin/GettingStartedWork
origin/HEAD -> origin/master
origin/master
origin/wendi-5
origin/user-contributionssudo apt-get install git
sudo apt-get update git/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew upgrade gitgit config --global user.name "your_username"
git config --global user.email "[email protected]"Getting started with Vitis FPGA development.
XCL_EMULATION_MODE

setenv XCL_EMULATION_MODE sw_emuexport XCL_EMULATION_MODE=sw_emu./host.exe kernel.xclbin./host.exe kernel.xclbinsrun -J interactive_build -p fpgabuild -c 8 --pty bashsrun -J interactive_fpga -p fpgarun --gres="fpga:U250:1" --pty bashsbatch -J batch_build -p fpgabuild -c 8 build.shsbatch -J batch_run -p fpgarun --gres="fpga:U250:1" run.sh$ platforminfo --platform xilinx_u250_gen3x16_xdma_3_1_202020_1
==========================
Basic Platform Information
==========================
Platform: gen3x16_xdma_3_1
File: /opt/xilinx/platforms/xilinx_u250_gen3x16_xdma_3_1_202020_1/xilinx_u250_gen3x16_xdma_3_1_202020_1.xpfm
Description:
This platform targets the Alveo U250 Data Center Accelerator Card. This high-performance acceleration platform features up to four channels of DDR4-2400 SDRAM which are instantiated as required by
the user kernels for high fabric resource availability, and Xilinx DMA Subsystem for PCI Express with PCIe Gen3 x16 connectivity.
=====================================
Hardware Platform (Shell) Information
=====================================
Vendor: xilinx
Board: U250 (gen3x16_xdma_3_1)
Name: gen3x16_xdma_3_1
Version: 202020.1
Generated Version: 2020.2
Hardware: 1
Software Emulation: 1
Hardware Emulation: 1
Hardware Emulation Platform: 0
FPGA Family: virtexuplus
FPGA Device: xcu250
Board Vendor: xilinx.com
Board Name: xilinx.com:au250:1.2
Board Part: xcu250-figd2104-2L-e
...export [email protected]module load vitisbass module load vitisg++ ... -c <source_file1> <source_file2> ... <source_fileN>g++ ... -l <object_file1.o> ... <object_fileN.o>v++ -t sw_emu --platform xilinx_u200_xdma_201830_2 -c -k vadd \
-I'./src' -o'vadd.sw_emu.xo' ./src/vadd.cppv++ -t sw_emu --platform xilinx_u200_xdma_201830_2 --link vadd.sw_emu.xo \
-o'vadd.sw_emu.xclbin' --config ./connectivity.cfgHW_TARGET ?= sw_emu # [sw_emu, hw_emu, hw]
LANGUAGE ?= opencl # [opencl, xilinx]
VERSION ?= 1 # [1, 2, 3]
#HWC stands for hardware compiler
HWC = v++
TMP_DIR = _x/$(HW_TARGET)/$(LANGUAGE)/$(VERSION)
src_files = main_xilinx.cpp cv_opencl.cpp double_add.cpp
hpp_files = cv_opencl.hpp double_add.hpp
KERNEL_SRC = kernels/add_kernel_v$(VERSION).cl
COMPUTE_ADD_XO = $(HW_TARGET)/$(LANGUAGE)/xo/add_kernel_v$(VERSION).xo
XCLBIN_FILE = $(HW_TARGET)/$(LANGUAGE)/add_kernel_v$(VERSION).xclbin
ifeq ($(LANGUAGE), opencl)
KERNEL_SRC = kernels/add_kernel_v$(VERSION).cl
else
KERNEL_SRC = kernels/add_kernel_v$(VERSION).cpp
endif
.PHONY: all kernel
all: double_add emconfig.json $(XCLBIN_FILE)
build: $(COMPUTE_ADD_XO)
kernel: $(XCLBIN_FILE)
double_add: $(src_files) $(hpp_files)
g++ -Wall -g -std=c++11 $(src_files) -o $@ -I../common_xlx/ \
-I${XILINX_XRD}/include/ -L${XILINX_XRT}/lib/ -L../common_xlx -lOpenCL \
-lpthread -lrt -lstdc++
emconfig.json:
emconfigutil --platform xilinx_u250_gen3x16_xdma_3_1_202020_1 --nd 1
$(COMPUTE_ADD_XO): $(KERNEL_SRC)
$(HWC) -c -t $(HW_TARGET) --kernel double_add --temp_dir $(TMP_DIR) \
--config design.cfg -Ikernels -I. $< -o $@
$(XCLBIN_FILE): $(COMPUTE_ADD_XO)
$(HWC) -l -t $(HW_TARGET) --temp_dir $(TMP_DIR) --config design.cfg \
--connectivity.nk=double_add:1:csq_1 \
$^ -I. -o $@
.PHONY: clean
clean:
rm -rf double_add emconfig.json xo/ built/ sw_emu/ hw_emu/ hw/ _x *.log .Xil/NCPUS := $(shell grep -c ^processor /proc/cpuinfo)
JOBS := $(shell expr $(NCPUS) - 1)
XOCCFLAGS := --platform $(PLATFORM) -t $(TARGET) -s -g
XOCCLFLAGS := --link --optimize 3 --vivado.synth.jobs $(JOBS) --vivado.impl.jobs $(JOBS)
# You could uncomment following line and modify the options for hardware debug/profiling
#DEBUG_OPT := --debug.chipscope krnl_aes_1 --debug.chipscope krnl_cbc_1 --debug.protocol all --profile_kernel data:all:all:all:all
build_hw:
v++ $(XOCCLFLAGS) $(XOCCFLAGS) $(DEBUG_OPT) --config krnl_cbc_test.cfg -o krnl_cbc_test_$(TARGET).xclbin krnl_cbc.xo ../krnl_aes/krnl_aes.xo
xbutil configure # Device and host configuration
xbutil examine # Status of the system and device
xbutil program # Download the acceleration program to a given device
xbutil reset # Resets the given device
xbutil validate # Validates the basic shell acceleration functionality
platforminfo -l # List all installed platforms.
platforminfo --platform <platform_file> # Get specific FPGA information from the platform.emconfigutil --platform xilinx_u200_xdma_201830_2





