KarlsruheMIS / KaMIS

Maximum independent sets and vertex covers of large sparse graphs.

Home Page:http://KarlsruheMIS.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Doesn't build on non-GNU systems due to use of parallel/numeric

yurivict opened this issue · comments

parallel/numeric is Linux-only.

parallel/numeric seems to only be used in the maximum matching code (lib/mis/kernel/ParFastKer/fast_reductions/src/MaximumMatching.cpp). In parallel/* there are some stl algorithms implemented in parallel - in particular, here only partial_sum is used. If you just want to make this compile on non-GNU systems, you could just replace <parallel/numeric> with <numeric> and __gnu_parallel::partial_sum with std:partial_sum. But be aware that this will probably slow down kernelization a bit because it would then compute prefix sums sequentially.

This advise seems to work. Thanks!

Hi @yurivict, I've written and am testing an algorithm that will make parallel/numeric no longer needed. I would propose that we discuss making the FreeBSD port. We would like to make sure that the port is as efficient as our original implementation (i.e., to ensure the running times are consistent with our papers). Can I help with this endeavor? If so, is it possible to commit all of the necessary changes to the github repo, or is there much more that needs to be done for the port?

Hi @darrenstrash

Thanks for your offer.

The port already exists.
commit info
FreshPorts record

I couldn't find how to run the testsuit.

Yuri

Thanks @yurivict

Just to check: In the commit info, are those the only changes that you had to make from our git repo to your port?

Re testsuite: While some of the algorithms are deterministic, several of them are actually non-deterministic and therefore hard to test. The main performance metric we care about, time, is difficult to write automated tests for. I will try out your port and let you know if I see performance similar to our papers.

Just to check: In the commit info, are those the only changes that you had to make from our git repo to your port?

This commit contains all changes needed to add the port.

Re testsuite: While some of the algorithms are deterministic, several of them are actually non-deterministic and therefore hard to test. The main performance metric we care about, time, is difficult to write automated tests for. I will try out your port and let you know if I see performance similar to our papers.

Thanks.