Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Failure on benchmark #444

Closed
ZigRazor opened this issue May 27, 2024 · 9 comments
Closed

Building Failure on benchmark #444

ZigRazor opened this issue May 27, 2024 · 9 comments
Assignees
Labels
bug Something isn't working CI/CD Continuous Integration/Continuous Development Issue good first issue Good for newcomers Priority:Critical Priority Label for Critical Issue

Comments

@ZigRazor
Copy link
Owner

We have the following problem with benchmark compilation, and the CI/CD fails:

[ 55%] Building CXX object benchmark/CMakeFiles/benchmark_exe.dir/Partition_BM.cpp.o
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionHDRF_X(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:16:21: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   16 |     auto result = g.partitionGraph(
      |                     ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionHDRF_FromReadedCitHep(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:27:34: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   27 |     auto result = cit_graph_ptr->partitionGraph(
      |                                  ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionEBVC_X(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:44:21: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   44 |     auto result = g.partitionGraph(
      |                     ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionEBVC_FromReadedCitHep(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:55:34: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   55 |     auto result = cit_graph_ptr->partitionGraph(
      |                                  ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionGVC_X(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:72:21: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   72 |     auto result = g.partitionGraph(
      |                     ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionGVC_FromReadedCitHep(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:83:34: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
   83 |     auto result = cit_graph_ptr->partitionGraph(
      |                                  ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionEBV_X(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:100:21: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
  100 |     auto result = g.partitionGraph(
      |                     ^~~~~~~~~~~~~~
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp: In function ‘void PartitionEBV_FromReadedCitHep(benchmark::State&)’:
/home/runner/work/CXXGraph/CXXGraph/benchmark/Partition_BM.cpp:111:34: error: ‘class CXXGraph::Graph<int>’ has no member named ‘partitionGraph’
  111 |     auto result = cit_graph_ptr->partitionGraph(
      |                                  ^~~~~~~~~~~~~~
gmake[2]: *** [benchmark/CMakeFiles/benchmark_exe.dir/build.make:300: benchmark/CMakeFiles/benchmark_exe.dir/Partition_BM.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:743: benchmark/CMakeFiles/benchmark_exe.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
Error: Process completed with exit code 2. 
@ZigRazor ZigRazor added bug Something isn't working good first issue Good for newcomers Priority:Critical Priority Label for Critical Issue CI/CD Continuous Integration/Continuous Development Issue labels May 27, 2024
@Ajay-26
Copy link
Contributor

Ajay-26 commented May 29, 2024

Hi, I would like to take this issue on. Looking at the API, I can see that there is a partitionGraph member function under the Partitioner class here

Perhaps the object from where this member function is called needs to be a Partitioner and not a Graph - should I change the Partition_BM.cpp file to incorporate this, or should I have the Graph class have a partitionGraph member function too ? Or am I missing something here ?

Fwiw, The partition test calls the function from the Partitioner class. I am inclined towards doing it that way here too, let me know if I am missing something here though

@ZigRazor
Copy link
Owner Author

I Think your analysis is good, you can go on!

@Ajay-26
Copy link
Contributor

Ajay-26 commented May 30, 2024

Thank you! The build is working on my end, but I am running into a segmentation fault with the BFS benchmark when I run the benchmark_exe executable.

2024-05-30T11:23:52-05:00
Running ./benchmark_exe
Run on (12 X 2688 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x6)
  L1 Instruction 32 KiB (x6)
  L2 Unified 1280 KiB (x6)
  L3 Unified 12288 KiB (x1)
Load Average: 0.16, 0.18, 0.13
***WARNING*** Library was built as DEBUG. Timings may be affected.
----------------------------------------------------------------------------------
Benchmark                                        Time             CPU   Iterations
----------------------------------------------------------------------------------
BFS_X/1                                       1538 ns         1538 ns       443783
BFS_X/18                                      6943 ns         6943 ns        98367
BFS_X/324                                   102805 ns       102806 ns         6685
BFS_X/5832                                 2254945 ns      2254951 ns          312
BFS_X/104976                              88080320 ns     88080662 ns            8
BFS_X/262144                              86550929 ns     86549850 ns            8
Segmentation fault

Haven't begun debugging as to why the Segmentation fault is happening, will take a look in some time. Is this to be raised as a new issue ?

@ZigRazor
Copy link
Owner Author

look at Memory consumption, it's possibile that you ram is full

@Ajay-26
Copy link
Contributor

Ajay-26 commented May 31, 2024

Thank you for the suggestion. I think I found why it was happening - I was running the benchmark executable from the wrong directory, so the cit_graph_ptr was nullptr. When I run it from the build directory, it works fine. I can make a PR for the original issue in some time :)

@ZigRazor
Copy link
Owner Author

good!

@Ajay-26
Copy link
Contributor

Ajay-26 commented Jun 1, 2024

Hi, I made a PR here. Please let me know if any changes are necessary and I can make them. Thank you for all your help!

@sbaldu
Copy link
Collaborator

sbaldu commented Sep 9, 2024

@ZigRazor This can be closed right?

@ZigRazor
Copy link
Owner Author

ZigRazor commented Sep 9, 2024

yes, this is closed by #445

@ZigRazor ZigRazor closed this as completed Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working CI/CD Continuous Integration/Continuous Development Issue good first issue Good for newcomers Priority:Critical Priority Label for Critical Issue
Projects
None yet
Development

No branches or pull requests

3 participants