ryanrossi / pmc Goto Github PK
View Code? Open in Web Editor NEWParallel Maximum Clique Library
Home Page: http://maxcliques.com
License: Other
Parallel Maximum Clique Library
Home Page: http://maxcliques.com
License: Other
Hi, not sure if this project is still maintained, but just wanted to let you know I got an error when trying to run make with this project.
OS: Ubuntu 18.04 LTS
Error Message:
g++ -O3 -fPIC -c pmc_driver.cpp
g++ -O3 -fPIC -o pmc pmc_driver.o pmc_utils.cpp pmc_graph.cpp pmc_clique_utils.cpp pmc_heu.cpp pmc_maxclique.cpp pmcx_maxclique.cpp pmcx_maxclique_basic.cpp pmc_cores.cpp -fopenmp
pmc_utils.cpp: In function ‘bool fexists(const char*)’:
pmc_utils.cpp:26:12: error: cannot convert ‘std::ifstream {aka std::basic_ifstream}’ to ‘bool’ in return
return ifile;
^~~~~
Makefile:42: recipe for target 'pmc' failed
make: *** [pmc] Error 1
There are no example input files. The README mentions an examples
folder, but it's missing. The download links for graphs on the website (maxcliques.com) are missing.
Hi, thank for sharing the great work. I am using your library in a python script to solve an MC problem. The library randomly crashed with the following output:
*** Error in `python': double free or corruption (out): 0x00007f9a87d8d420 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x790cb)[0x7f9c6cfb90cb]
/lib/x86_64-linux-gnu/libc.so.6(+0x8275a)[0x7f9c6cfc275a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f9c6cfc618c]
/users/miniconda2/envs/lib/python3.7/site-packages/torch/lib/libtorch.so(_ZNSt6vectorIiSaIiEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPiS1_EERKi+0x134)[0x7f9c0ffb2634]
pmc/libpmc.so(_ZN3pmc9pmc_graphC1ExPiS1_i+0x639)[0x7f9b944fb039]
pmc/libpmc.so(max_clique+0x2cd)[0x7f9b945140bd]
/users/miniconda2/envs/pointreg/lib/python3.7/lib-dynload/../../libffi.so.7(+0x69dd)[0x7f9c6d5989dd]
/users/miniconda2/envs/pointreg/lib/python3.7/lib-dynload/../../libffi.so.7(+0x6067)[0x7f9c6d598067]
/users/miniconda2/envs/pointreg/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so(_ctypes_callproc+0x2ce)[0x7f9c3a64127e]
/users/miniconda2/envs/pointreg/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so(+0x12cb4)[0x7f9c3a641cb4]
I am wondering if you had encountered similar issues during testing?
In pmc_utils.cpp
, in function fexists
you are returning an std::ifstream
where a bool
is needed.
The code won't compile with GCC 8.2.0:
pmc_utils.cpp: In function ‘bool fexists(const char*)’:
pmc_utils.cpp:26:12: error: cannot convert ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} to ‘bool’ in return
return ifile;
^~~~~
A simple fix could be to replace return ifile;
with return !ifile.fail();
.
When I tested the code on a small dataset, it worked well. However, when I tried a large dataset, I got the following error:
[pmc: initial k-core pruning] before pruning: |V| = 76781, |E| = 2147483647
[pmc: initial k-core pruning] after pruning: |V| = 76781, |E| = 2147483647
[pmc] initial pruning took 18.7986 sec
run_maxclique.sh: line 1: 22640 Segmentation fault (core dumped) ./pmc -f all_data/all_data.mtx -a 0
Could you please give me some ideas for this? Thank you so much!
If it only need a small modification, could you add the function to enumerate all the cliques with a given size in the pmc library?
Hi pmcer, it always print "*** [pmc: thread 3] current max clique = 154, time = 0.0690331 sec
DEBUG current mc: 154
DEBUG current mc: 154
DEBUG current mc: 154
DEBUG current mc: 154" when I use pmc lib. Could I close the notice ? How do I do?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.