Giter Club home page Giter Club logo

Comments (15)

roshandathathri avatar roshandathathri commented on July 30, 2024

I did not understand this. Why do we need this?

from galois.

ddn0 avatar ddn0 commented on July 30, 2024

It is a little unexpected that USE_ARCH is completely ignored if ENABLE_HETERO_GALOIS=ON since those two options are not related to each other for CPU code.

https://github.com/IntelligentSoftwareSystems/Galois/blob/master/CMakeLists.txt#L69

from galois.

insertinterestingnamehere avatar insertinterestingnamehere commented on July 30, 2024

Yah, it's an unexpected behavior issue. I'm not aware of anything that makes this urgent. The current behavior is just weird.

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

What is USE_ARCH expected to do?

I will be renaming ENABLE_HETERO_GALOIS to GALOIS_ENABLE_GPU (and merging it with USE_GPU). That flag will enable single/distributed GPU code for lonestar (analytics/mining/scientific).

from galois.

insertinterestingnamehere avatar insertinterestingnamehere commented on July 30, 2024

USE_ARCH sets the appropriate -march=... flag for the CPU code.

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

I don't see USE_ARCH being used anywhere currently. It was being used for KNL if I remember right. But where is that code in our cmake files?

https://github.com/IntelligentSoftwareSystems/Galois/blob/master/CMakeLists.txt#L69

I will drop those lines. They are not related/required.

from galois.

insertinterestingnamehere avatar insertinterestingnamehere commented on July 30, 2024

It's in https://github.com/IntelligentSoftwareSystems/Galois/blob/master/cmake/Modules/CheckArchFlags.cmake which defined variables that then get pulled in here: https://github.com/IntelligentSoftwareSystems/Galois/blob/master/CMakeLists.txt#L132.

from galois.

insertinterestingnamehere avatar insertinterestingnamehere commented on July 30, 2024

My best guess is that the if statement at https://github.com/IntelligentSoftwareSystems/Galois/blob/master/CMakeLists.txt#L69 was added to work around some kind of compiler error for the heterogeneous case. @ddn0, you added that, do you remember why it's there?

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

Thanks, Ian. This is not related to GALOIS_ENABLE_GPU flag, so waiting for Donald's reply to see if he added those lines.

from galois.

ddn0 avatar ddn0 commented on July 30, 2024

I added that line to follow the original logic:
68df52e#diff-af3b638bc2a3e6c650974192a53c7291L139

which was added in this commit:
bc691fe

That's where my context ends :D

Unrelated to this issue, I noticed there are still quite a few warnings when compiling gluon (unused parameters) and with gcc 8.4/clang 9, I actually get an internal compiler error:

[ 77%] Building CUDA object lonestar/analytics/gpu/pta/CMakeFiles/pta_gpu.dir/pta.cu.o
...
/home/ddn/w/katana/lonestar/analytics/gpu/pta/andersen.cu(1379): internal error: assertion failed: conv_glvalue_expr_to_prvalue: bad expr (/dvs/p4/build/sw/rel/gpu_drv/r418/TRD418_98/drivers/compiler/edg/EDG_5.0/src/exprutil.c, line 20215)


1 catastrophic error detected in the compilation of "/tmp/tmpxft_00004683_00000000-4_pta.cpp4.ii".
ddn@spork:katana-build$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 13a2e9376..91ed1a9e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,9 +66,9 @@ if(NUM_TEST_THREADS LESS_EQUAL 0)
   set(NUM_TEST_THREADS 1)
 endif()
 
-if(ENABLE_HETERO_GALOIS)
-  set(USE_ARCH none)
-endif()
+# if(ENABLE_HETERO_GALOIS)
+#   set(USE_ARCH none)
+# endif()
 
 ###### Configure (users don't need to go beyond here) ######
 
@@ -93,7 +93,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
     message(FATAL_ERROR "gcc must be version 7 or higher. Found ${CMAKE_CXX_COMPILER_VERSION}.")
   endif()
 
-  add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra;-Werror>")
+  add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wextra;-Werror;-w>")
 
   if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9)
     # Avoid warnings from openmpi

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

which was added in this commit:
bc691fe

Thanks, Donald. This was my commit but those lines were there from a commit before that. It's pretty old. I don't think it's needed.

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

Unrelated to this issue, I noticed there are still quite a few warnings when compiling gluon (unused parameters) and with gcc 8.4/clang 9, I actually get an internal compiler error:

Are these errors related to commenting out those lines?
"analytics/gpu" is not gluon code. Please raise an issue and assign it to Vishwesh.
If there are still warning on analytics/distributed related to GPU code, please raise an issue for that and assign it to Vishwesh and me.

from galois.

ddn0 avatar ddn0 commented on July 30, 2024

Are these errors related to commenting out those lines?
"analytics/gpu" is not gluon code. Please raise an issue and assign it to Vishwesh.
If there are still warning on analytics/distributed related to GPU code, please raise an issue for that and assign it to Vishwesh and me.

There are two issues:

  1. warnings in gluon
  2. ICE in analytics/gpu

I'll file issues for both.

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

Thanks!

from galois.

roshandathathri avatar roshandathathri commented on July 30, 2024

I made those flags independent in PR 199.

from galois.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.