Code Monkey home page Code Monkey logo

Comments (6)

vellamike avatar vellamike commented on June 6, 2024

Hi @avilella - no GPU memory utilisation rate depends on Model, chunk size and batch size but not on read length.

The reason it does not depend on read length is that reads are "chunked" into fixed length segments before being processed by the GPU for performance reasons.

from dorado.

avilella avatar avilella commented on June 6, 2024

from dorado.

vellamike avatar vellamike commented on June 6, 2024

@avilella at the moment (until Multi GPU is fully working) for assigning tasks to GPUs I suggest you use --device "cuda:0" and export CUDA_VISIBLE_DEVICES=ID where ID is the GPU you want to use.

from dorado.

vellamike avatar vellamike commented on June 6, 2024

Closing this issue as I believe it's resolved. @avilella please reopen it if you have any more queries.

from dorado.

avilella avatar avilella commented on June 6, 2024

I kicked of dorado on a simulated [email protected] dataset using an NVIDIA RTX A4000 (16GB VRAM) GPU.

The memory usage with the different --batchsize N options is shown below:

1 = 1664MiB / 16117MiB
100 = 2466MiB / 16117MiB
1000 = 9615MiB / 16117MiB
1984 (2*(2^10)-(2^6)) = 15930MiB / 16117MiB

So --batchsize 1984 is the optimal for a 16Gb VRAM Nvidia GPU. Full command-line:

dorado basecaller --device cuda:0 --batchsize 2000 --remora-threads 1 /data/ONT/dorado/[email protected] . > calls.sam

On a smaller NVIDIA T1000 GPU with 4GB VRAM, the optimal batchsize was 384 (updated on @vellamike 's comments):

384 (2^9)/2+(2^7) = 3828MiB /  3911MiB

from dorado.

vellamike avatar vellamike commented on June 6, 2024

Maximising the utilised VRAM with the biggest possible batch size to increase performance is a good rule of thumb, but not necessarily something which always works. For example it is often the case that good batch sizes are powers of two or integer multiples of powers of two.

from dorado.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.