Giter VIP home page Giter VIP logo

googletest_mpi's Introduction

Hi there ๐Ÿ‘‹

googletest_mpi's People

Contributors

asoffer avatar billydonahue avatar bryanzim avatar ciband avatar coryan avatar dani-hub avatar davidben avatar derekmauro avatar dnsunderland avatar dukexar avatar gennadiycivil avatar holke avatar jonny007-mkd avatar kinddragon avatar kuzkry avatar markmentovai avatar mbxx avatar ngie-eign avatar pwnall avatar quuxplusone avatar rogeeff avatar sgraham avatar srz-zumix avatar steelskin avatar suertreus avatar tanzislam avatar thejcannon avatar tisi1988 avatar vslashg avatar zulkarnine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

googletest_mpi's Issues

The _MPI macros should also work if not compiled with MPI

If we disable MPI support (with -DGTEST_HAS_MPI=0) then the new *_MPI macros are not defined causing compiler errors in code using them. Instead, they should be defined to their non-mpi counterparts to make code using the *_MPI macros behave like expected (as serial code) if compiled without MPI support.

Add github citation file

The new github citation feature offers a simple way to cite software repositories.
We should add a citation file to this repo.

Googletests own tests break with MPI support

Describe the bug

internal tests are not working properly with MPI support.

Steps to reproduce the bug

cmake with

 BUILD_GMOCK                      ON
 BUILD_SHARED_LIBS                OFF
 CMAKE_BUILD_TYPE
 CMAKE_INSTALL_PREFIX             /usr/local
 INSTALL_GTEST                    ON
 gmock_build_tests                OFF
 gtest_build_samples              ON
 gtest_build_tests                ON
 gtest_disable_mpi                OFF
 gtest_disable_pthreads           OFF
 gtest_force_shared_crt           OFF
 gtest_hide_internal_symbols      OFF
make
make test

Does the bug persist in the most recent commit?

We recommend using the latest commit in the master branch in your projects.

What operating system and version are you using?

Ubuntu

What compiler and version are you using?

mpicc -v
mpicc for MPICH version 4.0.2
gcc version 12.1.0 (Spack GCC) 
gcc -v
gcc version 12.1.0 (Spack GCC) 

What build system are you using?

cmake --version
cmake version 3.23.1

Additional context

LastTest.log
LastTestsFailed.log
CTestCostData.txt

--gtest_shuffle without --gtest_random_seed hangs

If no --random_seed is given, it is created from the current time, which is typically different for each MPI process, hence each one picks a different order of tests.
This was already fixed in essex/phist, commit 3d8c3ce0f9e52

Stress test with MPI - multithreading + MPI

The stress test possibly uses multiple pthreads. MPI collectives are possibly not correctly matched. Not sure if this is fixable...

One idea would be to use an own communicator for all threads, but I don't know if this is possible...

CMake build does not work

After doing a fresh clone from the repository I tried to build the package with CMake.
The configure step works fine but the build crashes due to compilation errors.
I am guessing it is treating warnings as errors.

I tried with main branch and v1.10.x branch.

I also tried with the latest tarball release but it still does not work.

The bug can be reproduced by executing the 'make' command.

I am working Ubuntu with gcc 11.4.0

Do I need to use any special flags for compiling ?

I am attaching a log file for reference.

log.txt

The collective Macros all use MPI_COMM_WORLD

Some users may want to call the new collective macros EXPECT/ASSERT_*_MPI on a subset of COMM_WORLD and it would thus be useful to include an option for this.

Why did we not include it from the start?

Because this would alter the number of arguments of the macros and it would be tedious to allways carry the mpi communicator around.

Maybe there was another reason as well that we could not include this feature, but i cannot remember. We should nevertheless investigate this, if it becomes an issue.

Update to 1.10

Update to gtest version 1.10

  • Merge with gtest 1.10 (in progress)
  • Adapt code to new 1.10
    • XML representation of a UnitTest (gtest.cc:3787 gtest_xml_output_unittest.py)
    • any other issues
  • Test whether everything is working

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.