Skip to content

Commit

Permalink
Update LICENSE.
Browse files Browse the repository at this point in the history
Rename PyQuda to PyQUDA.
  • Loading branch information
SaltyChiang committed Mar 20, 2024
1 parent d1b3e34 commit 0f98f9d
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ jobs:
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ github.event.inputs.tag }}
files: dist/PyQuda-${{ github.event.inputs.tag }}.tar.gz
files: dist/PyQUDA-${{ github.event.inputs.tag }}.tar.gz
fail_on_unmatched_files: true
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 PyQuda Developers
Copyright (c) 2022-2024 PyQUDA Developers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# PyQuda
# PyQUDA

Python wrapper for [QUDA](https://github.com/lattice/quda) written in Cython.

This project aims to benifit from the optimized linear algebra library [CuPy](https://github.com/cupy/cupy) in Python based on CUDA. CuPy and QUDA will allow us to do most operation in lattice QCD research with high performance. [PyTorch](https://github.com/pytorch/pytorch) is an alternative option.

This project is based on the latest QUDA develop branch. PyQuda should be compatible with any commit of QUDA after May 2023, but leave some features disabled.
This project is based on the latest QUDA develop branch. PyQUDA should be compatible with any commit of QUDA after May 2023, but leave some features disabled.

## Installation

### Install QUDA

You need to build and install QUDA as the prerequisite.

This is an example to build and install QUDA for multiple GPUs. The default install directory of QUDA should be `/path/to/quda/build/usqcd`. Here most fermion actions are disabled because PyQuda doesn't support them now.
This is an example to build and install QUDA for multiple GPUs. The default install directory of QUDA should be `/path/to/quda/build/usqcd`. Here most fermion actions are disabled because PyQUDA doesn't support them now.

```bash
git clone https://github.com/lattice/quda.git
Expand All @@ -24,21 +24,21 @@ cmake --install .
popd
```

### Install PyQuda
### Install PyQUDA

Install PyQuda with your Python interpreter.
Install PyQUDA with your Python interpreter.
Here we set `QUDA_PATH` to the install directory of QUDA.

```bash
git clone https://github.com/CLQCD/PyQuda.git
cd PyQuda
git clone https://github.com/CLQCD/PyQUDA.git
cd PyQUDA
export QUDA_PATH=../quda/build/usqcd
python3 -m pip install .
```

### Install CuPy or PyTorch

PyQuda doesn't list `cupy` or `torch` as dependency because of the different names of the precompiled binary packages. At least one of them is required by the project, and you should install one of them manually.
PyQUDA doesn't list `cupy` or `torch` as dependency because of the different names of the precompiled binary packages. At least one of them is required by the project, and you should install one of them manually.

You should choose **ONE OF** commands below depends on your CUDA toolkit version to install CuPy package.

Expand All @@ -56,7 +56,7 @@ Or use command blow to install PyTorch package.
python3 -m pip install torch
```

### Test PyQuda
### Test PyQUDA

[Chroma](https://github.com/JeffersonLab/chroma) is needed here for generating the reference files used by test scripts.
A precompiled Chroma is included in the repository, and you need to fetch it with `git-lfs`. Note that `git<2` seems not work well with `git-lfs`.
Expand Down Expand Up @@ -93,11 +93,11 @@ or just run the script as arguments are written in the shebang line:

## Development

I recommand you to build PyQuda using inplace mode instead of installing PyQuda.
I recommand you to build PyQUDA using inplace mode instead of installing PyQUDA.

```bash
git clone https://github.com/CLQCD/PyQuda.git
cd PyQuda
git clone https://github.com/CLQCD/PyQUDA.git
cd PyQUDA
export QUDA_PATH=../quda/build/usqcd
python3 -m pip install -r requirements.txt
python3 setup.py build_ext --inplace
Expand All @@ -107,4 +107,4 @@ Now you can modify Python files in the project and immediately get the new resul

## Maintenance

Function definitions (mainly in `quda.in.pxd` and `pyquda.in.pyx`) and most docstrings (mainly in `pyquda.pyi` and `enum_quda.in.py`) should be manually updated as they cannot be autogenerated now. This also means PyQuda should work well on any QUDA where the function interface remains unchanged.
Function definitions (mainly in `quda.in.pxd` and `pyquda.in.pyx`) and most docstrings (mainly in `pyquda.pyi` and `enum_quda.in.py`) should be manually updated as they cannot be autogenerated now. This also means PyQUDA should work well on any QUDA where the function interface remains unchanged.
2 changes: 1 addition & 1 deletion pyquda/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ def init(
quda.initQuda(_GPUID)
atexit.register(quda.endQuda)
else:
warn("WARNING: PyQuda is already initialized", RuntimeWarning)
warn("WARNING: PyQUDA is already initialized", RuntimeWarning)


def getMPIComm():
Expand Down
4 changes: 2 additions & 2 deletions pyquda/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


def main():
parser = ArgumentParser(prog="pyquda", description="PyQuda initializer", epilog="Text at the bottom of help")
parser = ArgumentParser(prog="pyquda", description="PyQUDA initializer", epilog="Text at the bottom of help")
parser.add_argument("script")
parser.add_argument(
"-g",
Expand Down Expand Up @@ -42,7 +42,7 @@ def main():
"--backend",
default="cupy",
choices=("cupy", "torch"),
help="CUDA backend of PyQuda (default: cupy)",
help="CUDA backend of PyQUDA (default: cupy)",
)
parser.add_argument(
"-p",
Expand Down
2 changes: 1 addition & 1 deletion pyquda/dirac/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ def loadFatLongGauge(fatlink: LatticeGauge, longlink: LatticeGauge, gauge_param:
def performance(invert_param: QudaInvertParam):
if invert_param.verbosity >= QudaVerbosity.QUDA_SUMMARIZE:
print(
"PyQuda: "
"PyQUDA: "
f"Time = {invert_param.secs:.3f} secs, "
f"Performance = {invert_param.gflops / invert_param.secs:.3f} GFLOPS"
)
Expand Down
2 changes: 1 addition & 1 deletion pyquda/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.6.6"
__version__ = "0.6.7"
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[metadata]
name = PyQuda
name = PyQUDA
version = attr: pyquda.version.__version__
url = https://github.com/CLQCD/PyQuda
url = https://github.com/CLQCD/PyQUDA
author = SaltyChiang
author_email = SaltyChiang@users.noreply.github.com
classifiers =
Expand Down

0 comments on commit 0f98f9d

Please sign in to comment.