Giter Club home page Giter Club logo

cudecomp's Issues

Building on Snellius HPC

Hi, thanks for sharing this library. I'm trying to build it on the Dutch national HPC Snellius, but I have run into trouble with the compilation. The lib stage of the Makefile appears to complete without problems, but once it moves on to the tests stage, it prints out many errors about not being able to find the libraries.

From the example config files, I believe I am pointing all the necessary variables to the right places, but the tests seem unable to find any of the NVIDIA libraries such as nccl.

My config file is as below, and here is my log file from the make command. Please let me know if you can see an obvious fix or have any suggestions.

# Having run
# module load 2022
# module load foss/2022a
# module load NVHPC/22.7
# NVHPC_HOME=/opt/nvidia/hpc_sdk/Linux_x86_64/2022
NVHPC_HOME=${EBROOTNVHPC}/Linux_x86_64/22.7

# Required variables to define
# MPICXX=mpicxx
# MPIF90=mpifort
CUDA_HOME=${NVHPC_HOME}/cuda
MPI_HOME=${NVHPC_HOME}/comm_libs/hpcx/latest/ompi
MPICXX=${MPI_HOME}/bin/mpicxx
MPIF90=${MPI_HOME}/bin/mpifort
NCCL_HOME=${NVHPC_HOME}/comm_libs/nccl
CUFFT_HOME=${NVHPC_HOME}/math_libs
CUTENSOR_HOME=${NVHPC_HOME}/math_libs
CUDACXX_HOME=${CUDA_HOME}

# Optional variables
CUDA_CC_LIST=61
BUILD_FORTRAN=1
ENABLE_NVTX=1
ENABLE_NVSHMEM=1
NVSHMEM_HOME=${NVHPC_HOME}/comm_libs/nvshmem

Question about packaging

Hello cuDecomp team.

I am looking to package jaxDecomp into a pypi package (I am currently using cuDecomp as a CMake subdirectory)

Are you ok with me packaging the code or/and the binary of cuDecomp?

Thank you.

Issue with linker when calling from python

Hello,

I am trying to port and bind this library in Python
I was able to build it then link it to my library and use it from the library (Project is here : JaxDecomp )

But when I call it from Python via pybind11, I get this weird link error

cuDecomp/build/lib/libcudecomp.so: undefined symbol: __sync_val_compare_and_swap_4

I have tried to link libstdc++ , libatomic, and libgcc_s but nothing happend.

Do you have any idea why I am getting this error?

Missing MPI import in `cudecomp.h`

Following the removal of MPI, cutensor, and NCCL imports at the top of cudecomp.h in this commit
there is now an undefined reference to MPI_Comm at this line of the include file:

cudecompResult_t cudecompInit(cudecompHandle_t* handle, MPI_Comm mpi_comm);

This is a bit awkward because it forces the user to import manually MPI even in files that do not need to call the init function. Could it be possible to add back that MPI import?

Issue with CMake when cuDecomp is used a subdirectory

First of all, thank you very much for adding a CMake build system in #15 .

I would like to point out that in your CMakeLists.txt you set the compilers name (nvc++) as the CXX compiler, while this works well when cuDecomp is the top project, it fails for us when we add cuDecomp as subdirectory with this error

"nvc++ " is not a full path and was not found in the PATH.

All you have to do is replace this code

# Use NVHPC compilers by default
set(CMAKE_CXX_COMPILER "nvc++")
set(CMAKE_Fortran_COMPILER "nvfortran")

# Locate and use NVHPC CMake configuration
find_program(NVHPC_CXX_BIN "nvc++")

With this one

# find NVHPC compilers
find_program(NVHPC_CXX_BIN "nvc++")
find_program(NVHPC_Fortran_BIN "nvfortran")
# Use NVHPC compilers by default
set(CMAKE_CXX_COMPILER ${NVHPC_CXX_BIN})
set(CMAKE_Fortran_COMPILER ${NVHPC_Fortran_BIN})

I would be happy to make PR if you want.

Thank you.

[Installation error] Run setup.py,command execution error

error message:

CMake Error at CMakeLists.txt:5 (find_package):
By not providing "FindNVHPC.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "NVHPC", but
CMake did not find one.

Could not find a package configuration file provided by "NVHPC" with any of
the following names:

NVHPCConfig.cmake
nvhpc-config.cmake

Add the installation prefix of "NVHPC" to CMAKE_PREFIX_PATH or set
"NVHPC_DIR" to a directory containing one of the above files. If "NVHPC"
provides a separate development package or SDK, be sure it has been
installed.

-- Configuring incomplete, errors occurred!

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.