[ensembl-dev] Performance Analysis and Hardware Acceleration of VEP.
Syed Hossain
snhossain at ebi.ac.uk
Wed Aug 31 09:35:10 BST 2022
Hello Muhammad Ali Akhtar,
The article had the latest performance analysis for VEP. It is indeed
not an up-to-date analysis but may give you some idea. We do have plan
to do a performance analysis soon and give up-to-date result.
You can look at code implementation here -
https://github.com/Ensembl/ensembl-variation/tree/release/107/C_code
(VEP uses ensembl-variation APIs for various bits).
Yes, I would say VEP is not optimised to run on FPGA/GPUs. It is
interesting area to explore but unfortunately I cannot comment on a
timeline where we will be working on this and have some tangible
outcome.
Best regards,
Nakib
On 2022-08-30 19:30, Muhammad Ali Akhtar wrote:
> Dear Syed Hossain,
>
> Thanks for the response. The article you referred to was published in
> 2016. There have been many vep releases after that and I think a lot
> has changed. Are you saying that the runtime / performance numbers
> cited in that article in 2016 are still valid?
>
> Secondly, you mentioned one underlying computation step ( linkage
> disequilibrium stats ). Can you point me to any publication / study
> that lists the algorithms (and mathematical operations ) used in VEP
> or other variant analysis tools? If there are no studies, can you
> atleast point me to perl files that implement linkage disequilibrium
> stats step.
>
> Third: I read about the fork / multithreaded option. However, this
> option is still meant for CPU execution i.e. Multi-Core CPU execution.
> We can create many (100-200) simple cores (PEs) in a mid-sized FPGA
> chip. However, these simple cores will not be as complex as Xeon
> Processor cores. e.g. FPGA cores are not good for Floating Point Ops.
>
> I was just wondering if there are any mathematical operations in VEP
> algorithms that can only be run on CPUs. In other words, there are
> steps in VEP processing that are not suitable for GPUs / FPGA chips.
> FPGA chips are better at simple Integer Arithmetic and logical
> operations and if mathematical operations in VEP are also simple
> integer arithmetic and logical operations, 100 cores in FPGA can
> theoretically give 100x Speed Up over One Xeon Core.
>
> Muhammad Ali Akhtar
>
> On Tue, Aug 30, 2022 at 1:52 PM Syed Hossain <snhossain at ebi.ac.uk>
> wrote:
>
>> Hello Muhammad Ali Akhtar,
>>
>> Thanks for the query!
>>
>> 1. So we do have our performance analysis on VEP which was published
>> on
>> the latest paper. You can check the result here -
>>
> https://genomebiology.biomedcentral.com/articles/10.1186/s13059-016-0974-4.
>>
>> 2. VEP have option to run in multiple thread (--fork option, see -
>>
> https://www.ensembl.org/info/docs/tools/vep/script/vep_options.html#opt_fork)
>>
>> which suitable to run on multiple core clusters. And some of the
>> underlying computation (such as linkage disequilibrium stats) are in
>> C
>> and Perl works as a wrapper. We do have a longer time plan to switch
>> to
>> a modern language.
>>
>> Hope that answers your query.
>>
>> Best regards,
>> Nakib
>>
>> On 2022-08-27 14:20, Muhammad Ali Akhtar wrote:
>>> Hello Everyone,
>>>
>>> This is my first time interacting with the VEP dev team. Just had
>> a
>>> few questions.
>>>
>>> 1. Are there any studies / reports out there with runtime /
>>> performance analysis of VEP?
>>> 2. Have there been any efforts on improving VEP performance? like
>>> coding in different languages (C/C++/) or using different
>> processors
>>> (GPUs / FPGAs)?
>>>
>>> I ask this because many steps (Like sequence alignment, variant
>>> calling) in the genome processing pipeline are being targeted for
>>> hardware acceleration but I couldn't find anything on customising
>> /
>>> improving VEP run time. Is it because the runtime of VEP has been
>>> short / average even for most demanding workloads?
>>>
>>> Regards,
>>> Muhammad Ali Akhtar
>>> _______________________________________________
>>> Dev mailing list Dev at ensembl.org
>>> Posting guidelines and subscribe/unsubscribe info:
>>> https://lists.ensembl.org/mailman/listinfo/dev_ensembl.org
>>> Ensembl Blog: http://www.ensembl.info/
More information about the Dev
mailing list