IanAWatson / LillyMol_6_cmake

Fork of the official LillyMol, but builds on Ubuntu systems with cmake.
Apache License 2.0
0 stars 2 forks source link

Builds on aarch64 with some changes #5

Open vfscalfani opened 1 year ago

vfscalfani commented 1 year ago

Hi,

First, thanks so much for creating this version of LillyMol that builds with cmake. I didn't have much luck trying with bazel nor cmake with LillyMol 7. However, this version 6 works perfectly with cmake and Ubuntu for me.

I wanted to use LillyMol on my Raspberry Pi (aarch64 based CPU), and I was able to get a build working by changing the x86 _mm_popcnt_u64 code to use the built in gcc __builtin_popcountll instead. If you are interested, I detailed my changes here:

https://github.com/vfscalfani/LillyMol_6_cmake/tree/aarch64_build

So far it seems to be working, but I have not done any real testing or benchmarking. Thanks again for working on the cmake build.

Vin

nbehrnd commented 1 year ago

Hello Vincent,

your link relays to a test in an environment of Debian 11/bullseye for the aarch64 architecture not yet documented in the project. With the release of Debian 12/bookworm as stable in June (at present with a point release of 12.2 to fix some security relevant issues), would it be possible for you to replicate the test in the more recent version of the operating system?

In my attempts (Xubuntu 22.04 LTS for the x84 architecture), building the executable required multiple 100 MB of platter space to provide the support of regular expressions by Google's re2. (Back then, it was surprising to me how much capacity was required. The eventually obtained executable then was considerably smaller.) Did you equally briefly observe this demand in resources?

Norwid

vfscalfani commented 1 year ago

Hi Norwid,

Okay, I tested on the latest version of Raspberry Pi OS that is available (based on Debian 12, released this month). I had to make one more change to the source code, which was including the <array> header file. Then, it seemed to build without errors. I updated the code and README with specific gcc, cmake, and libre2 versions used (see Test 2): https://github.com/vfscalfani/LillyMol_6_cmake/tree/aarch64_build

I monitored disk usage during the build, and I only noticed it required ~150 MB total of space.

Vin