Giter Club home page Giter Club logo

pira's People

Contributors

cvoelt avatar jonaotto avatar jplehr avatar mority avatar pearzt avatar sachinmanawadi271 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mority

pira's Issues

/tmp/mpi_funcs.dump might already exist and belong to another user

In Measurement.py (https://github.com/tudasc/pira/blob/master/lib/Measurement.py#L280)

    mpi_funcs_dump = '/tmp/mpi_funcs.dump'
    U.shell('wrap.py -d > ' + mpi_funcs_dump)

there is a write access to /tmp/mpi_funcs.dump. This file might already exist and belong to another user. This leads to an error and abortion of execution:

[Info] Running instrumentation iteration 0
[Error] Utility::shell: Caught Exception Command 'wrap.py -d > /tmp/mpi_funcs.dump' returned non-zero exit status 1.
[Error] Pira::execute_with_config: Problem during preparation of run.
Message:
Utility::shell: Running command wrap.py -d > /tmp/mpi_funcs.dump did not succeed
[Error] Runner.run caught exception. Message: Utility::shell: Running command wrap.py -d > /tmp/mpi_funcs.dump did not succeed

A possible fix might be to prepend the username to the filename, e.g., /tmp/<user_name>_mpi_funcs.dump

Setup github actions

We currently only run a CI pipeline for our internal repository.

We really should set up a github actions pipeline that runs the same tests for any opened pull requests.

Since we have a .gitlab-ci.yml file in place that lists what we do for testing, the setup should not be problematic. We need to consider however, that we probably want a container that can be used for theses tests, because building Score-P every time doesn't make sense.

Add bear as a dependency

Users who do not use cmake in their project need a way to create a compilation database.
This can be achieved using bear (https://github.com/rizsotto/Bear).
Therefore, it might be wise to add bear as a submodule to install with pira.
Code for installing bear can already be found in pira/test/integration/prepare_environment.sh.

Deploying PIRA using Docker and encounter ERROR while run the ./run.sh for GameOfLife

I use the master branch , podman version 1.6.4, CentOS7
I exec commands below

podman build -t pira:master -f docker/Dockerfile .
podman run -it localhost/pira:master
cd pira/resources
. setup_paths.sh
cd ../test/integration/GameOfLife # Example test case
XDG_DATA_HOME=/tmp ./run.sh

While deploying PIRA using Docker and attempting to run the ./run.sh script for GameOfLife, I encountered the following errors:

----- Build GameOfLife / build call graph -----
SerialGoL.cpp: In member function ‘const int GameOfLife::getNumLiveNeighbors(int, int) const’:
SerialGoL.cpp:94:32: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
94 | if(neighbor >= 0 && neighbor < gridA.size()){
| ~~~~~~~~~^~~~~~~~~~~~~~
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
----- Running Pira -----

Using /tmp/pira for runtime files

[INFO in '/usr/src/pira/lib/Pira.py' in 'main' line 168]: Running PIRA in compiletime filtering with configuration
/usr/src/pira/test/integration/GameOfLife/gol_config.json
[WARNING in '/usr/src/pira/lib/Pira.py' in 'process_args_for_extrap' line 147]: At least 5 repetitions are recommended for Extra-P modelling.
[INFO in '/usr/src/pira/lib/Checker.py' in 'check_configfile_v2' line 84]: Creating Cubes-Directory /tmp/pira/gol_cubes
[INFO in '/usr/src/pira/lib/Pira.py' in 'main' line 190]: Running the local case
[INFO in '/usr/src/pira/lib/Pira.py' in 'execute_with_config' line 40]: Building vanilla version for baseline measurements
[INFO in '/usr/src/pira/lib/Pira.py' in 'execute_with_config' line 46]: Running baseline measurements
[INFO in '/usr/src/pira/lib/Pira.py' in 'execute_with_config' line 57]: Running instrumentation iteration 0
[ERROR in '/usr/src/pira/lib/Utility.py' in 'shell' line 346]: Utility::shell: Caught Exception Command 'pgis_pira --scorep-out --static /usr/src/pira/test/integration/GameOfLife/../../../extern/install/metacg/bin//gol_ct.mcg' returned non-zero exit status 1.
[ERROR in '/usr/src/pira/lib/Analyzer.py' in 'analyze_local' line 111]: Utility::shell: Running command pgis_pira --scorep-out --static /usr/src/pira/test/integration/GameOfLife/../../../extern/install/metacg/bin//gol_ct.mcg did not succeed
[ERROR in '/usr/src/pira/lib/Pira.py' in 'execute_with_config' line 111]: Pira::execute_with_config: Problem during preparation of run.
Message:
Problem in Analyzer
[ERROR in '/usr/src/pira/lib/Pira.py' in 'main' line 256]: Runner.run caught exception. Message: Problem in Analyzer
Error opening instrumentation file for iteration 0: [Errno 2] No such file or directory: '../../../extern/install/metacg/bin/out/instrumented-gol_ct_it-0.txt'
Error opening instrumentation file for iteration 1: [Errno 2] No such file or directory: '../../../extern/install/metacg/bin/out/instrumented-gol_ct_it-1.txt'
Error opening instrumentation file for iteration 2: [Errno 2] No such file or directory: '../../../extern/install/metacg/bin/out/instrumented-gol_ct_it-2.txt'

/tmp/pira-mpi-filter.w might already exist and belong to another user

[Info] Running instrumentation iteration 0
[Error] Pira::execute_with_config: Problem during preparation of run.
Message:
[Errno 1] Operation not permitted: '/tmp/pira-mpi-filter.w'
[Error] Runner.run caught exception. Message: [Errno 1] Operation not permitted: '/tmp/pira-mpi-filter.w'

This issue is similar to #2

Compilation Error in PIRA: Incorrect Field Usage in MCGBaseInfo.h

Dear PIRA Development Team,

I encountered a compilation error while attempting to build PIRA. The error message indicates an issue with the usage of undefined fields in the MCGFileFormatVersion and MCGGeneratorVersionInfo classes within the MCGBaseInfo.h header file.

I execute ./build_submodules.sh and it seems encounter error in buiding MetaCG

The error shows below

44%] Building CXX object graph/CMakeFiles/metacg.dir/src/MCGWriter.cpp.o
cd /home/yhl/pira/extern/src/metacg/build/graph && /opt/rh/devtoolset-8/root/usr/bin/g++ -DFMT_SHARED -DJSON_DIAGNOSTICS=0 -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DSPDLOG_COMPILED_LIB -DSPDLOG_SHARED_LIB -Dmetacg_EXPORTS -I/home/yhl/pira/extern/src/metacg/graph/include -I/home/yhl/pira/extern/src/metacg/pgis/lib/include -I/home/yhl/pira/extern/src/metacg/build -I/home/yhl/pira/extern/src/metacg/build/_deps/json-src/single_include -I/home/yhl/pira/extern/src/metacg/build/_deps/spdlog-src/include -isystem /home/yhl/pira/extern/install/extrap/include -g -std=c++17 -fPIC -MD -MT graph/CMakeFiles/metacg.dir/src/MCGWriter.cpp.o -MF CMakeFiles/metacg.dir/src/MCGWriter.cpp.o.d -o CMakeFiles/metacg.dir/src/MCGWriter.cpp.o -c /home/yhl/pira/extern/src/metacg/graph/src/MCGWriter.cpp
In file included from /usr/include/sys/types.h:222,
from /usr/include/stdlib.h:314,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/cstdlib:75,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/ext/string_conversions.h:41,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6400,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80,
from /home/yhl/pira/extern/src/metacg/graph/include/CgNodePtr.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/MetaData.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/CgNode.h:11,
from /home/yhl/pira/extern/src/metacg/graph/include/Callgraph.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/MCGWriter.h:10,
from /home/yhl/pira/extern/src/metacg/graph/src/MCGWriter.cpp:7:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h: In constructor ‘metacg::MCGFileFormatVersion::MCGFileFormatVersion(int, int)’:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:17:48: error: class ‘metacg::MCGFileFormatVersion’ does not have any field named ‘gnu_dev_major’
MCGFileFormatVersion(int major, int minor) : major(major), minor(minor) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:17:62: error: class ‘metacg::MCGFileFormatVersion’ does not have any field named ‘gnu_dev_minor’
MCGFileFormatVersion(int major, int minor) : major(major), minor(minor) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h: In constructor ‘metacg::MCGGeneratorVersionInfo::MCGGeneratorVersionInfo(std::string&, int, int, std::string)’:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:37:21: error: class ‘metacg::MCGGeneratorVersionInfo’ does not have any field named ‘gnu_dev_major’
: name(name), major(major), minor(minor), sha(std::move(gitSHA)) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:37:35: error: class ‘metacg::MCGGeneratorVersionInfo’ does not have any field named ‘gnu_dev_minor’
: name(name), major(major), minor(minor), sha(std::move(gitSHA)) {}
^~~~~
In file included from /usr/include/sys/types.h:222,
from /usr/include/stdlib.h:314,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/cstdlib:75,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/ext/string_conversions.h:41,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6400,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37,
from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80,
from /home/yhl/pira/extern/src/metacg/graph/include/CgNodePtr.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/MetaData.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/CgNode.h:11,
from /home/yhl/pira/extern/src/metacg/graph/include/Callgraph.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/MCGManager.h:9,
from /home/yhl/pira/extern/src/metacg/graph/include/MCGReader.h:9,
from /home/yhl/pira/extern/src/metacg/graph/src/MCGReader.cpp:6:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h: In constructor ‘metacg::MCGFileFormatVersion::MCGFileFormatVersion(int, int)’:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:17:48: error: class ‘metacg::MCGFileFormatVersion’ does not have any field named ‘gnu_dev_major’
MCGFileFormatVersion(int major, int minor) : major(major), minor(minor) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:17:62: error: class ‘metacg::MCGFileFormatVersion’ does not have any field named ‘gnu_dev_minor’
MCGFileFormatVersion(int major, int minor) : major(major), minor(minor) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h: In constructor ‘metacg::MCGGeneratorVersionInfo::MCGGeneratorVersionInfo(std::string&, int, int, std::string)’:
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:37:21: error: class ‘metacg::MCGGeneratorVersionInfo’ does not have any field named ‘gnu_dev_major’
: name(name), major(major), minor(minor), sha(std::move(gitSHA)) {}
^~~~~
/home/yhl/pira/extern/src/metacg/graph/include/MCGBaseInfo.h:37:35: error: class ‘metacg::MCGGeneratorVersionInfo’ does not have any field named ‘gnu_dev_minor’
: name(name), major(major), minor(minor), sha(std::move(gitSHA)) {}

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.