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

Checkpointing option for GAP-C programs #163

Merged
merged 84 commits into from
Mar 3, 2023
Merged
Show file tree
Hide file tree
Changes from 83 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
b1faef7
added --checkpoint optional parameter; adjust Makefile generator if o…
fymue Dec 16, 2022
13fd005
automatically add required includes, archive_periodically method and …
fymue Dec 17, 2022
87dff56
automatically generate remaining code for checkpointing; checkpointin…
fymue Dec 17, 2022
9179d9e
don't need that
fymue Dec 17, 2022
6f09f34
prevent activation of checkpointing for non-primitive answer types
fymue Dec 18, 2022
79d15b9
fixed linter errors; added Checkpoint class to Printer namespace to m…
fymue Dec 18, 2022
c62e47f
adjust warning
fymue Dec 18, 2022
ed43e9e
add GAP-C copyright msg
fymue Dec 18, 2022
bb89e71
improved some error messages/warnings; auto delete tables after progr…
fymue Dec 20, 2022
f209412
add checkpointing options for user-compiled binaries; checkpoint rout…
fymue Dec 21, 2022
4249599
cleanup checkpoint.hh indentation; add two functions for Log file wri…
fymue Dec 21, 2022
79a712f
create Logfile w/ user input and table archive paths; automatically p…
fymue Dec 22, 2022
c6da3eb
switch from std::filesystem to boost::filesystem for MacOS compatibil…
fymue Dec 23, 2022
1fcabe5
adjusted automatic datatype inference to check every non-terminal tab…
fymue Dec 23, 2022
bccd26c
check for boost serialization/filesystem availability; change --check…
fymue Jan 2, 2023
0f22135
add updated configure script after adding boost tests; refactor some …
fymue Jan 2, 2023
bae8c92
fixed some newline/printing bugs
fymue Jan 2, 2023
82a4ec5
add a simple test which compiles with checkpointing (no test for actu…
sjanssen2 Jan 2, 2023
d5ea452
check for input/output path permissions
fymue Jan 2, 2023
2dbbdd9
remove <filesystem> include in generated code; forgot to change -c op…
fymue Jan 3, 2023
967aea0
update Logfile with cpu time and max rss since program start at every…
fymue Jan 3, 2023
d6845cc
don't need to return anything here
fymue Jan 3, 2023
2be8361
add tests that launch a checkpointed program, kill it after the first…
fymue Jan 4, 2023
cd1c8f1
missing space in print message
fymue Jan 4, 2023
5079bf4
Merge pull request #165 from jlab/checkpointing_test
fymue Jan 4, 2023
ad34b84
accidentally removed the return statement from the wrong func in one …
fymue Jan 4, 2023
afbd8e8
Merge branch 'checkpointing' of github.com:jlab/gapc into checkpointing
fymue Jan 4, 2023
95e3dab
explicitly set the checkpoint input path for the tests (we might not …
fymue Jan 4, 2023
f73a714
use KSH variable instead of using ksh directly
fymue Jan 6, 2023
be8c00f
shorten checkpointing tests a bit so test suite doesn't take as long
fymue Jan 6, 2023
88c6326
pass paths to ifstream/ofstream as const char* & use sizeof instead o…
fymue Jan 6, 2023
8656cf4
add percentage of tabulated values per table to Logfile at every chec…
fymue Jan 9, 2023
f6d487a
get rid of unnecessary -H option; prepare for GAPC call string insert…
fymue Jan 10, 2023
89b8a70
refactor some stuff to make adding PID to Logfile more efficient
fymue Jan 11, 2023
a5d9bd0
add function to find the Logfile in the input path (necessary now sin…
fymue Jan 11, 2023
e31fb73
merge master changes (PR #167) into this branch
fymue Jan 12, 2023
aa8a1d9
enable checkpointing of algebra products (as long as parts of the pro…
fymue Jan 13, 2023
3f48e67
fix linter errors
fymue Jan 13, 2023
da3e43a
fixed types
fymue Jan 13, 2023
d31d969
change input opt to require Logfile instead of path; user can add pre…
fymue Jan 14, 2023
a9d8986
specify generated Logfile as input for checkpointing tests
fymue Jan 14, 2023
9242cee
Merge branch 'master' of github.com:jlab/gapc into checkpointing
fymue Jan 16, 2023
bc66279
merge master
fymue Jan 23, 2023
0e4aab3
(de)serialize String type to enable checkpointing GAPL programs w/ e.…
fymue Jan 23, 2023
1dc97f7
accidentally deleted this
fymue Jan 24, 2023
39bf6f6
add some asserts for debugging; add mutexes to each table class to av…
fymue Jan 24, 2023
6719aa6
mark Lists with unresolvable links as not tabulated so they get recal…
fymue Jan 27, 2023
4f17789
Merge branch 'master' of github.com:jlab/gapc into checkpointing
fymue Jan 27, 2023
d9fd62b
clear RUN_CPP_FLAGS variable so the following tests don't falsely rec…
fymue Jan 27, 2023
afb30b4
forgot to delete this
fymue Jan 27, 2023
fdb61b9
only store content of block instead of entire block array for better …
fymue Jan 29, 2023
0f38bd0
enable checkpointing of algebra (products) with Shape type
fymue Jan 29, 2023
55ece9e
fixed bug/improved recursion to identify broken ListRefs; add checkpo…
fymue Jan 31, 2023
ae9d958
forgot the remove this (leftover stuff from 1st String checkpointing …
fymue Jan 31, 2023
10a258a
enable checkpointing for algebra (products) using Rope type
fymue Feb 2, 2023
b0569de
add checkpointing support for programs with hash types (Hash::Ref)
fymue Feb 2, 2023
88f6a69
removed some unneeded leftover code; updated some comments
fymue Feb 4, 2023
e671422
remove extra #if defined checks (not really needed for anything)
fymue Feb 6, 2023
8962e13
refactored parse_checkpoint_log and create_checkpoint_log functions t…
fymue Feb 16, 2023
91027f3
merge master changes
fymue Feb 16, 2023
c6b8da6
accidentally deleted checkpoint option during merge from master
fymue Feb 16, 2023
d0862d0
accidentally deleted checkpoint option during merge from master
fymue Feb 16, 2023
88027d6
didnt mean to push this
fymue Feb 16, 2023
924d14b
fix serializing in Hash::Ref/Hash Inspector classes; also archive tab…
fymue Feb 18, 2023
3fb3e40
need to check for cyk here
fymue Feb 18, 2023
55250db
forgot to wrap cp support check in else clause after cyk check; refac…
fymue Feb 18, 2023
9ef4371
Merge branch 'master' of github.com:jlab/gapc into checkpointing
fymue Feb 19, 2023
907a2ff
fix (de)serializing bug for Shape type
fymue Feb 21, 2023
a99a968
only delete Logfile/tables of current test; only delete if test was s…
fymue Feb 21, 2023
9c0b9f3
use cpp_base instead of hard-coding binary name
fymue Feb 21, 2023
1f9a1b7
refactor checkpoint opt help msg; use marco variable in checkpoint he…
fymue Feb 21, 2023
cf06ad9
fix ident in user-defined type generation; refactored some stuff; add…
fymue Feb 21, 2023
2140f83
fix str concat bug in cp help msg; fix/add a bunch of comments; refac…
fymue Feb 21, 2023
15eab3a
refactor some stuff/add some comments in Checkpoint class; print spec…
fymue Feb 21, 2023
a9ae98a
make checkpointing compatible for classified/interleaved products; pr…
fymue Feb 22, 2023
f56cde9
fix variables in test func; fix separation of output path and user-de…
fymue Feb 25, 2023
d8c5cb8
sort command line args alphabetically before creating arg string so c…
fymue Feb 25, 2023
8014617
fix check for user file permissions; allow serialization of char tabl…
fymue Feb 27, 2023
c7c3755
make array_size member a local variable in load method; add new check…
fymue Feb 27, 2023
bd2511d
change gapc-test-suite branch
fymue Feb 27, 2023
e7d0c23
add --keepArchives option to prevent deletion of archives at program …
fymue Feb 27, 2023
6fd4a91
forgot to change gapc-test-suite branch for MacOS workflow; refactor …
fymue Feb 27, 2023
51b126d
Merge branch 'master' of github.com:jlab/gapc into checkpointing
fymue Mar 1, 2023
0fcc99e
print filled % for every table in info msg
fymue Mar 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
run: sudo apt-get install flex bison make libboost-all-dev libgsl-dev python3 python3-pip

- name: Checkout truth
run: git clone --branch master https://github.com/jlab/gapc-test-suite.git $GITHUB_WORKSPACE/../gapc-test-suite
run: git clone --branch more_checkpointing_truth_files https://github.com/jlab/gapc-test-suite.git $GITHUB_WORKSPACE/../gapc-test-suite
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't forget to change back once merged


- uses: actions/checkout@v3
- name: configure
Expand Down Expand Up @@ -79,7 +79,7 @@ jobs:
- name: add random Haskell lib
run: cabal install --lib random
- name: Checkout truth
run: git clone --branch master https://github.com/jlab/gapc-test-suite.git $GITHUB_WORKSPACE/../gapc-test-suite
run: git clone --branch more_checkpointing_truth_files https://github.com/jlab/gapc-test-suite.git $GITHUB_WORKSPACE/../gapc-test-suite

- uses: actions/checkout@v3
- name: configure
Expand Down
6 changes: 4 additions & 2 deletions aclocal.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
# generated automatically by aclocal 1.16.5 -*- Autoconf -*-

# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2021 Free Software Foundation, Inc.

# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Expand Down Expand Up @@ -176,7 +176,9 @@ int main (void)
AU_ALIAS([AM_PATH_GSL], [AX_PATH_GSL])

m4_include([m4/ax_boost_base.m4])
m4_include([m4/ax_boost_fileystem.m4])
m4_include([m4/ax_boost_program_options.m4])
m4_include([m4/ax_boost_serialization.m4])
m4_include([m4/ax_boost_unit_test_framework.m4])
m4_include([m4/ax_check_compile_flag.m4])
m4_include([m4/ax_compare_version.m4])
Expand Down
Loading