The Apple Silicon Gravitational-Wave Cluster project focuses on harnessing the computational power of Apple Silicon M2 processors to build a high-performance cluster dedicated to gravitational-wave astronomy. Gravitational waves, predicted by Einstein's theory of general relativity, offer a unique window into the cosmos. This project aims to leverage the efficiency and capabilities of Apple Silicon to create a scalable and efficient computing environment for processing and analyzing gravitational-wave data.
-
Performance Optimization: Utilizing Apple Silicon M2 processors to enhance computing speed and efficiency in gravitational-wave data analysis.
-
Cluster Scalability: Building a scalable cluster architecture that can handle the complexities of processing large datasets inherent in gravitational-wave astronomy.
To contribute to PyCBC and work with the example pycbc_inspiral
script, follow these steps to set up your development environment:
Before proceeding, fork the PyCBC repository by following the instructions in the CONTRIBUTING.md file.
- Go to the PyCBC repository home page
- Click on the Fork button (top-right-hand corner)
- Select the namespace that you want to create the fork in, this will usually be your personal namespace
Clone your forked PyCBC repository onto your local machine. Open a terminal and navigate to the directory where you want to clone the repository:
git clone https://github.com/<git-username>/pycbc.git
cd pycbc
Activate your conda environment or create a new one. If you use an existing environment where PyCBC is already installed, consider uninstalling it from that environment.
conda activate your-environment
# If using an existing environment where PyCBC is already installed:
pip uninstall pycbc
Install the necessary dependent packages by running the following commands:
pip install -r requirements.txt
pip install -r companion.txt
Install PyCBC from the source code in your cloned repository:
pip install .
Navigate to the examples/inspiral directory:
cd examples/inspiral
In this directory, there is a script called run.sh. Execute it:
bash run.sh
This setup completes the installation of PyCBC from the source code, and you can now test the pycbc_inspiral script as instructed.
To obtain the necessary data files for your analysis, follow these steps:
conda install --channel conda-forge lalsuite
git clone https://git.ligo.org/lscsoft/lalsuite.git
Navigate to the lalsuite directory:
cd lalsuite
Clone the lalsuite-extra repository:
git clone https://git.ligo.org/lscsoft/lalsuite-extra.git
Change directory to lalsuite-extra:
cd lalsuite-extra
Run the following commands to configure and install:
./00boot
./configure --prefix=${HOME}/<path_to_lalsuite-extra>
make install
Set the LAL_DATA_PATH environment variable:
echo 'export LAL_DATA_PATH=${HOME}/<path_to_lalsuite-extra>/share/lalsimulation' >> ~/.zshrc
or, if the above command is not effective:
echo 'export LAL_DATA_PATH=${HOME}/<path_to_lalsuite-extra>/share/lalsimulation' >> ~/.bashprofile
To utilize HTCondor as a user on MacOS, follow the steps below for a seamless installation:
Open a new terminal and download HTCondor:
cd
curl -fsSL https://get.htcondor.org | /bin/bash -s -- --download
Unpack the downloaded tarball and rename the resulting directory:
tar -x -f condor.tar.gz
mv condor-*stripped condor
Navigate to the condor directory, created in the previous step:
cd condor
Execute the following command for installation and configuration:
./bin/make-personal-from-tarball
Whenever you want to use HTCondor, execute the following command:
. ~/condor/condor.sh
To start HTCondor, especially after a machine reboot:
condor_master
You can verify the HTCondor installation by executing the following commands:
condor_status
: Displays the status and information about the computationalcondor_q
: Displays information about the jobs submitted to the HTCondor system.
condor_q -nobatch
: To get job IDscondor_q -analyze JOBID
: To analyze a job:condor_release JOBID
: To remove a job from HOLD statecondor_rm JOBID
: To remove a job from IDLE state
After installing PyCBC, if you encounter any errors while executing Pegasus workflow, please consider doing the following steps to resolve issues
pip install .
Install homebrew before as mention here: homebrew installation and follow the steps below
Note: To generate the executable workflow
brew tap pegasus-isi/tools
Now, install Pegasus using Homebrew:
brew install pegasus
These steps are essential to overcome any errors encountered during the installation process and to ensure a successful setup.