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 pycbcActivate 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 lalsuitegit 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 -- --downloadUnpack 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.