Skip to content

Report: Runing Enzenptional with Docker - Resolution of GT4SD Installation and Execution Issues with NVIDIA GPU #266

@lucaspalmeira

Description

@lucaspalmeira

Initial Problem

Failure in GT4SD installation due to dependency conflicts, SSL issues, and incompatibility with NVIDIA RTX 4090 GPU.

Environment

  • System: Docker container based on drugilsberg/gt4sd-base:v1.4.2-gpu
  • GPU: NVIDIA GeForce RTX 4090
  • CUDA: 11.7/11.8
  • Python: 3.10

Step-by-Step Solution

1. Initial Container Setup

docker run --gpus all -dit --name gt4sd-gpu \
  -v /home/node03/Alunos/lucas/gt4sd-core-gpu:/workspace \
  drugilsberg/gt4sd-base:v1.4.2-gpu bash

2. GT4SD Update

pip install gt4sd==1.5.0 --upgrade

3. Problem: Corrupted SSL Certificates

Symptom: SSL verification errors when downloading models from HuggingFace

Solution:

apt-get update --allow-unauthenticated --allow-insecure-repositories
apt-get install -y --allow-unauthenticated ca-certificates
update-ca-certificates --fresh

4. Problem: Corrupted Numpy Installation

Symptom: ModuleNotFoundError: No module named 'numpy._utils'

Solution:

pip uninstall numpy -y
pip cache purge
pip install numpy==1.23.5 --no-cache-dir --force-reinstall

5. Problem: RTX 4090 GPU Incompatibility

Symptom:

NVIDIA GeForce RTX 4090 with CUDA capability sm_89 is not compatible 
with the current PyTorch installation

Solution (after attempts with newer versions):

# Maintain PyTorch 1.12.1 for GT4SD compatibility
pip install torch==1.12.1+cu117 torchvision==0.13.1+cu117 torchaudio==0.12.1 \
  --extra-index-url https://download.pytorch.org/whl/cu117

6. Version Conflict Identified

Problem: GT4SD and dependencies require PyTorch <=1.12.1, but newer versions are needed for RTX 4090.

Resolution: Accept partial incompatibility - RTX 4090 works with PyTorch 1.12.1 but with warnings and potentially reduced performance.

Known Issues and Workarounds

1. GPU Compatibility Warnings

  • RTX 4090 (sm_89) not fully compatible with PyTorch 1.12.1
  • Workaround: Functions with GPU fallback capabilities

2. Version Conflicts

  • enzeptional 1.0.4 requires torch<=1.12.1
  • gt4sd-molformer 0.1.3 requires torch<=1.12.1
  • Workaround: Maintain PyTorch 1.12.1 for compatibility

3. Recurrent SSL Issues

  • System certificates can corrupt during updates
  • Workaround: Periodic reinstallation of ca-certificates

Successful Final Verification

Verification Commands:

nvidia-smi  # GPU detected
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"  # CUDA working

Successful Execution:

python run_pred.py clean_sequences_ec_3_2_1_26_no_outliers.fasta \
  invertase_substrato.smi invertase_produto.smi \
  feasibility_output_3_2_1_26_sucrose.csv kcat_output_3_2_1_26_sucrose.csv

Result: Script executed successfully, models loaded, sequence optimization initiated.

Recommendations for GT4SD Project

1. Update GPU Compatibility

  • Support for PyTorch >=2.0 and newer GPUs
  • Test with sm_89+ architectures

2. Improve Dependency Management

  • Relax PyTorch version constraints when possible
  • Provide alternative builds for newer hardware

3. Enhanced Troubleshooting Documentation

  • Add section for common SSL issues
  • GPU compatibility guide

4. Updated Container Images

  • Update base image with newer certificates
  • Alternative versions with newer PyTorch

5. Version Compatibility Matrix

  • Clear documentation of supported PyTorch/CUDA versions
  • Tested hardware configurations

Technical Details

Critical Dependencies:

  • PyTorch: 1.12.1+cu117 (required for GT4SD compatibility)
  • Numpy: 1.23.5 (stable version)
  • CUDA: 11.7 (compatible with PyTorch 1.12.1)

Performance Notes:

  • RTX 4090 operates in compatibility mode with PyTorch 1.12.1
  • ESM model loading and inference functional
  • Full GPU utilization not achieved due to version constraints

Conclusion

GT4SD successfully executed after resolving multiple layers of compatibility issues. The solution involved workarounds for current project limitations, particularly in compatibility with modern hardware. The project would benefit from updated dependencies and better support for newer GPU architectures while maintaining backward compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions