sokrypton / sokrypton/ColabFold

ColabFold fails when using directory with multiple .a3m as input (works for single input)

Open
#503 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
2.9k
Forks
747
PR merge metrics
No merged PRs in 30d

Description

I'm using ColabFold via localcolabfold in a g4dn.12xlarge AWS EC2 instance. I have a directory with thousands of MSAs (MSAs) in the .a3m format and used it as input for colabfold_batch. After a thousand or so MSAs were processed, I started to get the error below. The strange thing is that I don't have any errors if I process MSAs invididually, in multiple commands. Since colabfold_batch processes the MSAs sequentially, I don't think this is actually a memory issue.

colabfold_batch --zip --num-recycle 2 --num-models 1 --max-seq 512 --max-extra-seq 1024 MSAs ColabFold_prediction
2023-10-03 17:53:09,571 Running colabfold 1.5.2 (29cbf90390086c336afbe7c420eef9a3cf00451c)
2023-10-03 17:53:23,605 Running on GPU
2023-10-03 17:53:24,048 Found 4 citations for tools or databases
2023-10-03 17:53:24,048 Query 1/1665: NF006199 (length 335)
2023-10-03 17:53:31,299 Padding length to 345
2023-10-03 17:53:48.055148: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2153] Execution of replica 0 failed: INTERNAL: cublas error
2023-10-03 17:53:48,059 Could not predict NF006199. Not Enough GPU memory? INTERNAL: cublas error
2023-10-03 17:53:48,059 Query 2/1665: NF011736 (length 335)
2023-10-03 17:53:49,587 Padding length to 345
2023-10-03 17:53:49.592976: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:833] failed to record completion event; therefore, failed to create inter-stre
am dependency
2023-10-03 17:53:49.593136: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:1179] failed to enqueue async memcpy from host to device: CUDA_ERROR_ILLEGAL_ADDRESS
: an illegal memory access was encountered; GPU dst: 0x7ef32d812a00; host src: 0x7f0307200000; size: 4=0x4
2023-10-03 17:53:49.593170: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/stream.cc:321] Error recording event in stream: Error recording CUDA event: CUDA_ERROR_ILLEGAL_ADDRESS:
an illegal memory access was encountered; not marking stream as bad, as the Event object may be at fault. Monitor for further errors.
2023-10-03 17:53:49.593190: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:614] unable to add host callback: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory acce
ss was encountered
2023-10-03 17:53:49.593357: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:1179] failed to enqueue async memcpy from host to device: CUDA_ERROR_ILLEGAL_ADDRESS
: an illegal memory access was encountered; GPU dst: 0x7ef32d812b00; host src: 0x7f0307200100; size: 4=0x4
2023-10-03 17:53:49.593368: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/stream.cc:321] Error recording event in stream: Error recording CUDA event: CUDA_ERROR_ILLEGAL_ADDRESS:
an illegal memory access was encountered; not marking stream as bad, as the Event object may be at fault. Monitor for further errors.
2023-10-03 17:53:49.593389: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:1032] could not wait stream on event: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory
access was encountered
2023-10-03 17:53:49.593421: E external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:614] unable to add host callback: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory acce
ss was encountered
...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the shown colabfold_batch command, the MSAs directory, and the localcolabfold environment on AWS EC2. Start by comparing sequential directory processing with separate single-input commands and inspect the cublas and CUDA illegal-address errors. Done means thousands of .a3m inputs process without the reported GPU failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
bioinformatics, cli, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.