A repository for LF Lab and scqubit workshop materials for the QDW 2025 workshop at UCLA.
For the hands-on sessions, you will need:
- Python runtime (Python 3.10 recommended but not required) with the following packages:
- AWS
Note for Experienced Users: The following installation instructions are provided in great detail to help new users set up their environment from scratch. If you already have Python installed and are familiar with package management, you can skip the Python installation steps and proceed directly to installing the required packages. The detailed instructions are meant to be comprehensive for beginners while remaining flexible for experienced users to adapt to their existing setup.
| Component | Status | Installation Guide |
|---|---|---|
| Python Runtime | Required | View Instructions |
| Python Packages | Required | View Instructions |
| AWS Palace | Required | View Instructions |
macOS Installation
-
Python Installation:
-
Open Terminal:
- Press
Command (⌘) + Spaceto open Spotlight - Type "Terminal" and press Enter
- Press
-
Install Homebrew if you haven't already:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Follow any on-screen instructions
- Verify Homebrew installation:
brew --version
-
Install Python 3.10:
brew install python@3.10
- Wait for the installation to complete
- Verify Python installation:
python3.10 --version
-
Add Python to your PATH:
bash echo 'export PATH="/usr/local/opt/python@3.10/bin:$PATH"' >> ~/.zshrc source ~/.zshrc- Verify PATH is set correctly:bash which python3.10
-
Windows Installation
-
Python Installation:
-
Download Anaconda:
- Open your web browser and go to Anaconda's official website
- Click the "Download" button for Windows
- Choose the 64-bit version
-
Install Anaconda:
- Double-click the downloaded installer
- Click "Next" through the welcome screen
- Accept the license agreement
- Choose "Just Me" for installation type
- Important: Select the installation location (default is fine)
- Important: Check both boxes:
- "Add Anaconda to my PATH environment variable"
- "Register Anaconda as my default Python"
- Click "Install" and wait for completion
- Click "Finish"
-
Open Anaconda Prompt:
- Click the Windows Start button
- Type "Anaconda Prompt"
- Click on "Anaconda Prompt (anaconda3)"
-
Create and activate environment:
bash conda create -n qdws python=3.10- When prompted, type 'y' and press Enter - After creation, activate the environment:bash conda activate qdws- Verify the installation:bash python --version
-
Linux Installation
-
Python Installation:
-
Open Terminal:
- Press
Ctrl + Alt + T - Or search for "Terminal" in your applications menu
- Press
-
Update package list:
sudo apt update
- Enter your password when prompted
- Wait for the update to complete
-
Install Python 3.10 and pip:
sudo apt install python3.10 python3.10-venv python3-pip
- When prompted, type 'y' and press Enter
- Wait for installation to complete
- Verify Python installation:
python3.10 --version
-
Create a virtual environment:
bash python3.10 -m venv qdws-env- Activate the environment:bash source qdws-env/bin/activate- Verify activation (you should see (qdws-env) at the start of your prompt) - Verify pip installation:bash pip --version
-
Important: Both
SQuADDSandSQDMetalrequireqiskit-metalas a dependency. The installation process is divided into three parts:
- Installing
qiskit-metal(required)- Installing
SQuADDS(requiresqiskit-metal)- Installing
SQDMetal(requiresqiskit-metal)If you already have
qiskit-metalinstalled in an environment, you can skip to step 2 and installSQuADDSandSQDMetalin that environment.Need help? If you encounter any installation issues or challenges, please create an issue on our GitHub repository with details of your problem. We're here to help!
macOS Package Installation
-
Open Terminal:
- Press
Command (⌘) + Spaceto open Spotlight - Type "Terminal" and press Enter
- Press
-
Create a directory for the workshop:
mkdir -p ~/qdws_workshop cd ~/qdws_workshop
-
Set up Python environment:
-
For Apple Silicon (M1/M2) Macs:
# Install Rosetta 2 if not already installed softwareupdate --install-rosetta # Create environment with x86 emulation CONDA_SUBDIR=osx-64 conda create -n qdws python=3.10 conda activate qdws conda config --env --set subdir osx-64
-
For Intel Macs:
# Create environment conda create -n qdws python=3.10 conda activate qdws
-
-
Install qiskit-metal and its dependencies:
curl -O https://raw.githubusercontent.com/Qiskit/qiskit-metal/main/environment.yml conda env update -n qdws -f environment.yml python -m pip install --no-deps -e git+https://github.com/Qiskit/qiskit-metal.git#egg=qiskit-metal
-
Verify qiskit-metal installation:
python -c "import qiskit_metal; print('Qiskit Metal version:', qiskit_metal.__version__)" -
Install SQuADDS in the same environment:
pip install SQuADDS
-
Verify SQuADDS installation:
python -c "import squadds; print('SQuADDS version:', squadds.__version__)" -
Install SQDMetal in the same environment:
cd ~/qdws_workshop git clone https://github.com/sqdlab/SQDMetal.git cd SQDMetal pip install .
-
Verify SQDMetal installation:
python -c "import SQDMetal; print('SQDMetal installed successfully')" -
Final verification of all packages:
$ python >>> import qiskit_metal >>> import squadds >>> import SQDMetal >>> exit()
Windows Package Installation
-
Open Anaconda Prompt:
- Click the Windows Start button
- Type "Anaconda Prompt"
- Click on "Anaconda Prompt (anaconda3)"
-
Create a directory for the workshop:
cd %USERPROFILE% mkdir qdws_workshop cd qdws_workshop
-
Set up Python environment:
# Create environment conda create -n qdws python=3.10 conda activate qdws -
Install qiskit-metal and its dependencies:
curl -O https://raw.githubusercontent.com/Qiskit/qiskit-metal/main/environment.yml conda env update -n qdws -f environment.yml python -m pip install --no-deps -e git+https://github.com/Qiskit/qiskit-metal.git#egg=qiskit-metal
Note: If you encounter problem when executing
curl -O https://raw.githubusercontent.com/Qiskit/qiskit-metal/main/environment.yml, trycurl.exe -O https://raw.githubusercontent.com/Qiskit/qiskit-metal/main/environment.ymlinstead.
-
Verify qiskit-metal installation:
python -c "import qiskit_metal; print('Qiskit Metal version:', qiskit_metal.__version__)" -
Install SQuADDS in the same environment:
pip install SQuADDS
-
Verify SQuADDS installation:
python -c "import squadds; print('SQuADDS version:', squadds.__version__)" -
Install SQDMetal in the same environment:
cd %USERPROFILE%\qdws_workshop git clone https://github.com/sqdlab/SQDMetal.git cd SQDMetal pip install .
-
Verify SQDMetal installation:
python -c "import SQDMetal; print('SQDMetal installed successfully')" -
Final verification of all packages:
$ python >>> import qiskit_metal >>> import squadds >>> import SQDMetal >>> exit()
Note: If you encounter
ERROR: Failed building wheel for klayoutwhile building from GitHub, install KLayout independently from here and comment out theklayout==0.29.0line in therequirements.txtfile before re-running the installation commands.
Linux Package Installation
-
Open Terminal:
- Press
Ctrl + Alt + T - Or search for "Terminal" in your applications menu
- Press
-
Create a directory for the workshop:
mkdir -p ~/qdws_workshop cd ~/qdws_workshop
-
Set up Python environment:
# Create environment conda create -n qdws python=3.10 conda activate qdws -
Install qiskit-metal and its dependencies:
curl -O https://raw.githubusercontent.com/Qiskit/qiskit-metal/main/environment.yml conda env update -n qdws -f environment.yml python -m pip install --no-deps -e git+https://github.com/Qiskit/qiskit-metal.git#egg=qiskit-metal
-
Verify qiskit-metal installation:
python -c "import qiskit_metal; print('Qiskit Metal version:', qiskit_metal.__version__)" -
Install SQuADDS in the same environment:
pip install SQuADDS
-
Verify SQuADDS installation:
python -c "import squadds; print('SQuADDS version:', squadds.__version__)" -
Install SQDMetal in the same environment:
cd ~/qdws_workshop git clone https://github.com/sqdlab/SQDMetal.git cd SQDMetal pip install .
-
Verify SQDMetal installation:
python -c "import SQDMetal; print('SQDMetal installed successfully')" -
Final verification of all packages:
$ python >>> import qiskit_metal >>> import squadds >>> import SQDMetal >>> exit()
Troubleshooting: If you encounter any issues with the
datasetslibrary, you may need to downgrade to version 2.19.2:pip install datasets==2.19.2
Important: Please keep track of where the Palace executable is installed on your system, as you will need this path later to run simulations.
macOS Installation
For detailed installation instructions for Palace on macOS, please refer to the SQuADDS documentation.
The installation process involves:
- Installing prerequisites (Homebrew, Xcode Command Line Tools)
- Installing dependencies (cmake, gcc, open-mpi, openblas, git)
- Building Palace from source
- Verifying the installation
After installation, the Palace executable will be located in the bin/ directory of your build folder. Make note of this location for future use.
Windows Installation
For Windows users, we recommend using the prebuilt Palace executable provided by WELSIM (GitHub repo for release v0.11.1). Detailed instructions can be found in the SQuADDS documentation.
The prebuilt executable will be installed in:
C:\Program Files\WELSIM\v31\palace.exe
Upon installing, open an Anaconda Prompt and cd into the v31 directory, run the command palace.exe --help. It should show the following result:
$ cd C:\Program Files\WELSIM\v31\
$ palace.exe --help
Usage: palace.exe [OPTIONS] CONFIG_FILE
Options:
-h, --help Show this help message and exit
-dry-run, --dry-run Parse configuration file for errors and exit
Note: If you face 'The code execution cannot proceed because libifportMD.dll was not found.' error while running 'palace.exe --help', download and install Intel® Fortran Compiler Runtime for Windows* (IFX/IFORT). After installation, restart the Anaconda Prompt and try again.
Once this is done, git clone the AWS Palace repository for version 0.11.1 in whatever directory you want to save it in and run the some examples (e.g. lets say the cpw example) to test if everything works.
$ cd \path\to\your\dir
$ git clone https://github.com/awslabs/palace.git
$ cd palace\examples\cpw
$ "C:\Program Files\WELSIM\v31\palace.exe" cpw_coax_uniform.json
Note: If ' "C:\Program Files\WELSIM\v31\palace.exe" ' gives error, try using '&"C:\Program Files\WELSIM\v31\palace.exe" '
If you prefer to build from source, the documentation also includes detailed steps for building Palace on Windows, though this is not recommended for beginners.
Docker Image
For those brave ones who want to try using Docker, you can use the prebuilt Docker image for Palace. This is a more advanced option and may require some familiarity with Docker.
Here is the link to the GitHub Repository: https://github.com/shanto268/palace-docker-image
Linux Installation
For detailed installation instructions for Palace on Linux, please refer to the SQuADDS documentation.
The installation process involves:
- Installing system dependencies
- Setting up Spack package manager
- Installing MPI via Spack
- Building Palace from source
After installation, the Palace executable will be in your build directory. Make note of this location for future use.
HPC Systems Installation
For HPC systems, please follow the instructions from the official Palace site.
Additionally, sqdlab/SQDMetal provides helpful resources for installation on HPC systems.
Optional: To visualize simulation outputs, you may want to install ParaView. This is an optional step and not required for the workshop, but it can be helpful for visualizing the results of your simulations.
Slides: Kickoff
Notebook: Designing a "fab-ready" chip with SQuADDS
Slides: Designing a "fab-ready" chip with SQuADDS
For advanced track participants, please follow the detailed setup instructions to configure your environment for the ML components of the workshop.
Notebook: Learning the Inverse Design Map: Hamiltonian to Geometry using Machine Learning
Slides: Learning the Inverse Design Map: Hamiltonian to Geometry using Machine Learning
Notebook File Directory: notebooks/advance-track/scqubits-workshop
For any questions or further information, contact Sadman Ahmed Shanto.