Size: 15634
Comment:
|
Size: 16702
Comment: cluster instructions outdated
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
Official releases are in reverse chronological order. The '''Continuous Build''' is rebuilt daily and any time a developer makes a change they think users should have access to. It is normally reasonably stable, and will contain the latest pre-publication features. Alternatively, the highest numbered version will contain a stable and tested release. Windows10 users please see the instructions below before downloading. | |
Line 9: | Line 8: |
Official releases are in reverse chronological order. The '''Continuous Build''' is rebuilt daily and any time a developer makes a change they think users should have access to. It is normally reasonably stable, and will contain the latest pre-publication features. Alternatively, the highest numbered version will contain a stable and tested release. |
|
Line 19: | Line 21: |
1. If you have previously installed EMAN2: | 1. '''Cleanup:''' If you have previously installed EMAN2: |
Line 24: | Line 26: |
1. Download eman2.X.MacOS.sh/eman2.X.linux64.sh. 1. Run: |
1. '''Download:''' [[https://cryoem.bcm.edu/cryoem/static/software/continuous_build/eman2_sphire_sparx.linux.unstable.sh|Linux]] / [[https://cryoem.bcm.edu/cryoem/static/software/continuous_build/eman2_sphire_sparx.mac.unstable.sh|Mac]] binary. 1. '''Install:''' |
Line 31: | Line 33: |
* EMAN2 initialization will add a block of code to your .profile/.bashrc file. After initialization open your .profile/.bashrc file and confirm that a block like the following has been added | * EMAN2 initialization will add a block of code to your ''.profile/.bashrc'' file. After initialization open your ''.profile/.bashrc'' file and confirm that a block like the following has been added |
Line 47: | Line 49: |
1. '''Linux users:''' The new neural network based routines are much faster running on a GPU. If you have an NVidia graphics card, see ''Using the GPU'' section below. 1. Run these programs to see if the install worked: |
1. '''Test:''' Run these programs to see if the install worked: |
Line 56: | Line 57: |
1. '''Linux users:''' The new neural network based routines are much faster running on a GPU. If you have an NVidia graphics card, see [[#GPU|''Using the GPU'']] section below. === Troubleshooting and Tips === |
|
Line 61: | Line 66: |
Line 62: | Line 68: |
{{{#!wiki warning The following instructions are outdated. New instructions are work-in-progress. }}} |
|
Line 66: | Line 77: |
{{{#!wiki comment UPDATE }}} |
|
Line 165: | Line 179: |
We are finally able to provide 64 bit Windows binaries for EMAN2, however, please see the Windows 10- Linux/Bash shell option below for what may be a better alternative. Notes: | We provide 64 bit Windows binaries for EMAN2, however, please see the [[#Windows-WSL]] option below for what may be a better alternative. Notes: |
Line 172: | Line 186: |
1. Download eman2.X.win64.exe. | 1. Download [[https://cryoem.bcm.edu/cryoem/static/software/continuous_build/eman2_sphire_sparx.win.unstable.exe|eman2_sphire_sparx.win.unstable.exe]]. |
Line 177: | Line 191: |
1. Open Anaconda Prompt by clicking Windows Start Menu -> Anaconda2 (64-bit) -> Anaconda Prompt. 1. In most cases you will want to install: [[https://bitbucket.org/vinay.sajip/pylauncher/downloads/|Python Launcher]]. |
1. Open Anaconda Prompt by clicking Windows '''Start Menu -> Anaconda3 (64-bit) -> Anaconda Prompt''' or '''Start Menu -> Anaconda3 (64-bit) -> Anaconda Prompt(installation-folder-name)'''. 1. In most cases you will want to install: [[https://bitbucket.org/vinay.sajip/pylauncher/downloads/|Python Launcher]] ([[https://bitbucket.org/vinay.sajip/pylauncher/downloads/launchwin-1.0.1.6.msi|launchwin-1.0.1.6.msi]]). |
Line 187: | Line 201: |
=== Windows 10 - Linux/Bash shell === | <<Anchor(Windows-WSL)>> === Windows 10 - Linux/Bash shell (As of 12/15/2020) === |
Line 198: | Line 214: |
{{attachment:Windows Features.png||width=600}} |
|
Line 200: | Line 218: |
{{attachment:Windows Store - Ubuntu.png||width=600}} |
|
Line 203: | Line 223: |
{{{ sudo apt-get update sudo apt-get install libsm-dev libxrender-dev build-essential libgl1-mesa-dev mesa-utils mesa-common-dev libglu1-mesa libglu1-mesa-dev sudo apt-get autoremove |
{{{#!highlight bash sudo apt update sudo apt install libsm-dev libxrender-dev build-essential libgl1-mesa-dev mesa-utils mesa-common-dev libglu1-mesa libglu1-mesa-dev mesa-utils sudo apt autoremove |
Line 213: | Line 233: |
{{{#!wiki note Make sure to follow the instructions for shell initialization using `conda-init`. }}} |
|
Line 215: | Line 238: |
{{{ | {{{#!highlight bash |
Line 220: | Line 243: |
{{attachment:OpenGL output.png||width=700}} |
|
Line 221: | Line 247: |
{{{ | {{{#!highlight bash |
Line 228: | Line 254: |
{{attachment:Windows e2display.png||width=700}} |
|
Line 233: | Line 263: |
Many machines will have CUDA installed already, and if CUDA is an appropriate version, this should work fine with the TensorFlow version shipped with EMAN2. However, if you are running newer versions of CUDA there may be problems. You can test compatibility quickly with: | Many machines will have CUDA installed already, and if CUDA is an appropriate version, this should work fine with the !TensorFlow version shipped with EMAN2. However, if you are running newer versions of CUDA there may be problems. You can test compatibility quickly with: |
Contents
Binary Installation Instructions v2.39
All Systems
Official releases are in reverse chronological order. The Continuous Build is rebuilt daily and any time a developer makes a change they think users should have access to. It is normally reasonably stable, and will contain the latest pre-publication features. Alternatively, the highest numbered version will contain a stable and tested release.
Mac OS X and Linux Workstations (not clusters)
The neural network code in EMAN2 works best on GPUs, which are available only on the Linux installations. It can still run on Mac, but will be quite slow.
Cleanup: If you have previously installed EMAN2:
- Please remove or rename any existing installed EMAN2 folder you might have.
- Please remove any existing EMAN2 entries from PATH.
- LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PYTHONPATH and PYTHONHOME are NO LONGER USED, and should be removed if you have them set.
- If you have any of these shell variables set for use with other software, it may be necessary to remove those settings as well. If the tests below fail after installation, this is the first thing to check.
Install:
1 bash <path-to-EMAN2-installer>
- You will be prompted for a location to install EMAN2. Note that you cannot rename this folder after installation! You must reinstall if you wish to move the installation.
- You will be asked if you want to initialize EMAN2.
EMAN2 initialization will add a block of code to your .profile/.bashrc file. After initialization open your .profile/.bashrc file and confirm that a block like the following has been added
- If you use a different shell, such as tcsh or zsh, you may need to edit the appropriate file yourself.
- You should not normally need to reinstall OpenMPI. The copy of OpenMPI/Pydusa now distributed with the binaries should work on Macs/Linux workstations in most cases.
- Don't forget to restart your shell if you changed the .profile/.bashrc or other scripts.
Mac users: If you don't understand what the .profile instructions are talking about, this may help: https://stackoverflow.com/questions/7501678/set-environment-variables-on-mac-os-x-lion
Test: Run these programs to see if the install worked:
Linux users: The new neural network based routines are much faster running on a GPU. If you have an NVidia graphics card, see ''Using the GPU'' section below.
Troubleshooting and Tips
- If you have problems with any of these programs, the first thing to check is whether you have PYTHONPATH, PYTHONHOME, LD_LIBRARY_PATH or DYLD_LIBRARY_PATH set in your shell. While used in previous versions of EMAN, variables are no longer used, and in some cases may interfere with Anaconda. If they are set to make some other software package work, but they interfere with the programs above, you will have to unset them, and set them only when you need the other software.
Specifically, if only the last command fails and you are using an Nvidia graphics card, it is likely caused by a graphics card driver incompatibility. Updating the Nvidia driver usually fixes the problem. On recent Ubuntu systems, running apt-get install nvidia-current works. On other systems, you may need to follow the installation guide from Nvidia.
- You will find that when you open a new shell, you will see (base) added to your command prompt. This indicates that Anaconda, the environment EMAN2 now uses for distribution, is active, and you can run EMAN2/SPARX/SPHIRE commands.
If this causes issues for other software, you can type conda deactivate and EMAN2 commands will no longer work (but any software that doesn't like Anaconda will work).
Alternatively, you can type conda config --set auto_activate_base False, which will prevent Anaconda from being activated automatically when you open new shells. In that case you will need to do a conda activate before running EMAN2/SPARX/SPHIRE commands.
Linux Clusters
The following instructions are outdated. New instructions are work-in-progress.
- Follow the Linux workstation instructions above.
- When using EMAN2/SPARX/SPHIRE on a cluster, the version of OpenMPI provided with the EMAN2.39 binaries may not be aware of the batch queuing system used to launch jobs on the cluster, and may only be able to run on one node at a time unless you follow the OpenMPI reinstallation instructions below. Follow only ONE of the sets of instructions below.
If you have a file named .condarc in your home directory, temporarily rename or move it for the following instructions to work properly.
Use system OpenMPI
Most Linux clusters will have at least one OpenMPI installation on the cluster. In some cases there may be more than one, and you may have to select a "module" to get the correct one. It is also critical that OpenMPI be compiled with the --disable-dlopen option. If you don't understand this statement, please consult with your cluster sysadmin.
- Remove the OpenMPI we provided:
conda remove openmpi --force
- Make sure that the correct OpenMPI for your cluster is in your path. You should be able to run 'mpicc' and get a message like 'gcc: no input files'.
- Rebuild Pydusa using the system installed OpenMPI.
export GIT_PYDUSA_BRANCH=v20180515 conda build <path-to-EMAN2-directory>/recipes/pydusa --numpy 1.13 --no-test
Warning: If you see an error after this process like:
Can't build /home/stevel/EMAN2/recipes/fftw-mpi due to environment creation error: Downloaded bytes did not match Content-Length url: http://www.fftw.org/fftw-3.3.6-pl1.tar.gz target_path: /home/stevel/EMAN2/conda-bld/src_cache/fftw-3.3.6.tar.gz Content-Length: 4179807 downloaded bytes: 208916
this means the fftw download failed. You will need to re-run this step, but first, delete the failed download : rm EMAN2/conda-bld/src_cache/fftw-3.3.6.tar.gz
Warning: If you see an error during this process like:
configure: error: could not find mpi library for --enable-mpi
this means the fftw build failed. On our system, this happened due to a libuuid library mismatch in combination with the omnipath cluster architecture. To workaround this situation try:cd <path-to-EMAN2-directory>/lib rm libuuid.so.1 ln -s /lib64/libuuid.so.1.3.0 libuuid.so.1 (Try 'ldconfig -p | grep libuuid' to find the correct libuuid location and version) cd -
Run this step again and revert this change after the whole installation process is complete.cd <path-to-EMAN2-directory>/lib rm libuuid.so.1 ln -s libuuid.so.1.0.0 libuuid.so.1 cd -
- Finally, install the compiled Pydusa:
conda install fftw-mpi --force-reinstall --override-channels -c file://<path-to-EMAN2-directory>/conda-bld -c defaults conda install 'pydusa=1.15=np113*' --force-reinstall --override-channels -c file://<path-to-EMAN2-directory>/conda-bld -c defaults
Rebuild your own OpenMPI
- Remove the OpenMPI we provided:
conda remove openmpi --force
- Rebuild OpenMPI.
It is important to have the hwloc library available on the system. It might be available with 'module load hwloc'. It is also important to have the libraries of the used queuing system available (slurm, Torque/PBS, SGE, ...).
conda build <path-to-EMAN2-directory>/recipes/openmpi -c defaults -c conda-forge -c conda-forge/label/cf201901 conda install openmpi --override-channels -c file://<path-to-EMAN2-directory>/conda-bld -c defaults
- Rebuild Pydusa using the rebuilt OpenMPI:
export GIT_PYDUSA_BRANCH=v20180515 conda build <path-to-EMAN2-directory>/recipes/pydusa --numpy 1.13 --no-test
Warning: If you see an error after this process like:
Can't build /home/stevel/EMAN2/recipes/fftw-mpi due to environment creation error: Downloaded bytes did not match Content-Length url: http://www.fftw.org/fftw-3.3.6-pl1.tar.gz target_path: /home/stevel/EMAN2/conda-bld/src_cache/fftw-3.3.6.tar.gz Content-Length: 4179807 downloaded bytes: 208916
this means the fftw download failed. You will need to re-run this step, but first, delete the failed download : rm EMAN2/conda-bld/src_cache/fftw-3.3.6.tar.gz
Warning: If you see an error during this process like:
configure: error: could not find mpi library for --enable-mpi
this means the fftw build failed. On our system, this happened due to a libuuid library mismatch in combination with the omnipath cluster architecture. To workaround this situation try:cd <path-to-EMAN2-directory>/lib rm libuuid.so.1 ln -s /lib64/libuuid.so.1.3.0 libuuid.so.1 (Try 'ldconfig -p | grep libuuid' to find the correct libuuid location and version) cd -
Run this step again and revert this change after the whole installation process is complete.cd <path-to-EMAN2-directory>/lib rm libuuid.so.1 ln -s libuuid.so.1.0.0 libuuid.so.1 cd -
- Finally, install the compiled Pydusa:
conda install fftw-mpi --force-reinstall --override-channels -c file://<path-to-EMAN2-directory>/conda-bld -c defaults conda install 'pydusa=1.15=np113*' --force-reinstall --override-channels -c file://<path-to-EMAN2-directory>/conda-bld -c defaults
Windows
We provide 64 bit Windows binaries for EMAN2, however, please see the #Windows-WSL option below for what may be a better alternative. Notes:
- SPARX/SPHIRE are not supported.
- EMAN2 functionality may not be complete using this first approach. You may get more complete functionality, but with some additional effort using the Linux/Bash shell approach below.
- Even for EMAN2, Windows support remains somewhat marginal, and is provided primarily for utility functions and basic GUI tools, like micrograph evaluation and particle picking. Complete refinements may not work well under Windows. You are welcome to ask questions in the mailing list, but there may be limited help we can provide because we simply don't have Windows machines around for testing.
Native Win7/10 64 bit
Download eman2_sphire_sparx.win.unstable.exe.
- Launch the installer.
Select Installation Type: Just Me
Choose Installation Location: Select a location with NO space in path
Advanced Installation Options: Don't add EMAN2 to PATH environment variable.
Open Anaconda Prompt by clicking Windows Start Menu -> Anaconda3 (64-bit) -> Anaconda Prompt or Start Menu -> Anaconda3 (64-bit) -> Anaconda Prompt(installation-folder-name).
In most cases you will want to install: Python Launcher (launchwin-1.0.1.6.msi).
- Run these programs to see if the install worked:
e2version.py e2speedtest.py e2display.py e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
Windows 10 - Linux/Bash shell (As of 12/15/2020)
Windows 10 includes an embedded Ubuntu Linux environment. It is possible to run the EMAN2 Linux binaries within this Win10 environment, but you will need to install some additional dependencies to do so. Also, you will effectively be running at a Linux command prompt, so you will have to become a bit familiar with Linux to do this, but it does avoid installing an additional operating system on your machine.
- Click "Start" and type "Turn Windows Features on or off".
- Enable "Windows Subsystem for Linux".
- Enable "Virtual Machine Platform".
- Install Ubuntu from "Microsoft Store".
- Run "Ubuntu" from Start Menu.
- Install OpenGL.
Install Xming X Server for Windows.
- Don't forget the fonts and Mesa (OpenGL) modules! If it seems to work, but the letters are black boxes, or you have other visual artifacts, the problem is probably with OpenGL support.
Download and install eman2_sphire_sparx.linux.unstable.sh, #Linux.
Make sure to follow the instructions for shell initialization using conda-init.
- Start X Server and set environment variables.
- Run these programs to see if the install worked:
Using the GPU
Currently, the GPU is only used for neural network operations in tomogram annotation and in particle picking. It provides a ~10 fold or more speed up in neural network training. The new GPU developments are currently based on TensorFlow. From about 2006-2012 EMAN2 had its own internal CUDA code, which could be compiled into the C++ library. This has been deprecated, and likely no longer works, though the code is still present. We are working on a new GPU support strategy moving forward.
Many machines will have CUDA installed already, and if CUDA is an appropriate version, this should work fine with the TensorFlow version shipped with EMAN2. However, if you are running newer versions of CUDA there may be problems. You can test compatibility quickly with:
# Make sure you have your environment set to run EMAN2 programs e2version.py # The above command should work and return your current version. If it does, then run: python -c "import tensorflow"
If this command does not return an error, then you should be able to run deep learning software within EMAN2. If it does raise an error, then you will need to debug the problem:
- If you do not have CUDA installed at all (and you are on a Linux machine with an NVidia GPU):
- Installation depends on linux distribution, try your package manager for CUDA and/or CUDA-toolkit
- for example, on Ubuntu 16.10:
apt-get install nvidia-cuda-toolkit
- If the version of CUDA you have installed is too new (definitely problems with 10.1, may be problems with earlier versions), then you will need to get a compatible tensorflow installed in your Anaconda environment. Here is one suggestion:
conda remove tensorflow-gpu tensorflow-gpu-base pip install cython pip install tensorflow # read any messages carefully, if there are errors you may need other installations
[dnn] enabled=False
- If you get a very long string of errors a few seconds after trying to train a network, and see references to "narrowing" in the errors, this probably means your C++ compiler is newer than Theano expects. You can try adding the following to your .theanorc file:
[gcc] cxxflags = -Wno-narrowing