[Debian-med-packaging] Bug#1025953: beast-mcmc: only usable with OpenCL

Andrius Merkys merkys at debian.org
Mon Dec 12 16:39:17 GMT 2022


Hi Andreas,

On 2022-12-12 18:08, Andreas Tille wrote:
> Am Mon, Dec 12, 2022 at 04:06:40PM +0200 schrieb Andrius Merkys:
>> When launched on a system without OpenCL, beast-mcmc executable dies:
>>
>> $ beast-mcmc -help
>> OpenCL error: CL_DEVICE_NOT_FOUND from file <GPUInterfaceOpenCL.cpp>, line
>> 122.
>>
>>  From a quick glance this seems to be happening due to beast-mcmc using
>> OpenCL version of libhmsbeagle1v5 (the line cited in the error message is in
>> libhmsbeagle source). However, beast-mcmc seems to support CLI options to
>> switch to libhmsbeagle1v5 CPU instance (see 'beagle_CPU' in
>> src/dr/app/beast/BeastMain.java). Maybe it is possible to make CPU mode the
>> default to avoid loading OpenCL-dependent libraries.
> Thanks a lot for the hint.  I've tried -beagle_CPU which fails and even
> -beagle_off[1] which fails as well[2].

It looks as if beast-mcmc loads all shared libraries of libhmsbeagle 
unconditionally before parsing the CLI options. Or it sees that OpenCL 
headers are present (they are present even if no OpenCL device is 
available) and loads the OpenCL-dependent libraries. I did not dig into 
the source very much, though.

Best,
Andrius



More information about the Debian-med-packaging mailing list