Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
6a67816
Refactoring director function to generalize (first step to define API…
helq Feb 26, 2024
9b32a71
Hardcoded example skipping iterations for TWO applications (MILC and …
helq Apr 11, 2024
42f7cd5
Improving figure generation script
helq Apr 18, 2024
44d5f69
Fix: replacing O(n) table lookup for O(1)
helq Apr 29, 2024
c589d49
Injecting iteration time as an argument
helq May 8, 2024
9f605f0
Fixing compilation warning `incompatible-pointer-types`
helq Jul 7, 2024
54936f2
Merge remote-tracking branch 'origin/kronos-develop' into kronos-develop
helq Jul 7, 2024
1df7bb7
Updating code after ROSS change on gvt hook
helq Jul 9, 2024
6af7eb1
Fixing compilation warning `incompatible-pointer-types`
helq Jul 7, 2024
472cc5a
Removing hardcoded test and we can pass a config file now
helq Jan 23, 2025
57fc7e3
Fixing a memory bug when reading from file
helq Jan 24, 2025
2711b6b
Allowing to run without skipping configuration file
helq Jan 24, 2025
1412a4e
Saving apps iteration logs into single files per PE
helq Jan 24, 2025
bb5b369
Guaranteeing that "workload period" config works in parallel
helq Jan 25, 2025
a4e052a
Changing time in period file to double (from long)
helq Jan 25, 2025
795628d
Stdout for surrogate only from PE 0
helq Feb 18, 2025
a7121ec
Implementing custom LP status printing for model-net-lps
helq Feb 18, 2025
ca30320
Fixing small bug found when rollbacking model-net-event
helq Feb 18, 2025
c2afcd1
Cleaning up some structs and fixing a reverse handler case
helq Feb 24, 2025
c4c1491
Refactoring struct in model-net-mpi-replay
helq Feb 24, 2025
9a5bf98
Print function for struct codes_workload_op and enum codes_workload_o…
helq Feb 24, 2025
9da3d36
Implementing deep copy/check/print for LP state: nw_state
helq Feb 24, 2025
6e97889
Fixing minor reversibility bugs in LP type nw_state
helq Feb 24, 2025
a3e638e
Adding checkpointer functionality to model-net sub-models
helq Mar 2, 2025
e430fea
Moving implementation of linked list equality to quicklist.h
helq Mar 2, 2025
8b95a70
Fixing some potential memory errors (from Valgrind)
helq Mar 2, 2025
c9729d8
Extending implementation of model-net checkpointer
helq Mar 2, 2025
7bc29c2
Implementing FCFS checkpointer
helq Mar 2, 2025
d48898a
Removing never used struct param `entry_time`
helq Mar 4, 2025
fab09e8
Printing lp states and events with a prefix (prettier printing)
helq Mar 5, 2025
ca89cf1
Small implementation fixes (typo and exporting function name)
helq Mar 7, 2025
2dd6db5
Implementing base deep-copy/clean/comparison/print for dragonfly lps
helq Mar 7, 2025
7aa4c11
Printing sub_message contents of model-net message
helq Mar 7, 2025
f3818d0
Implementing (an almost complete) deep-copy of terminal_state
helq Mar 10, 2025
0898c37
Fixing reversibility bug in terminal_state (dragonfly-dally)
helq Mar 10, 2025
d3d7621
Commenting what has is left to be implemented to fully deep-copy `str…
helq Mar 11, 2025
41680da
Implementing deep-copy of member terminal_msgs in terminal_state
helq Mar 12, 2025
f8c5163
Fixing copy of C++ non-initialized members
helq Mar 12, 2025
4a1819b
Some members of terminal_state are not be deep-copied in surrogate mode
helq Mar 12, 2025
d2cf6ae
Fixing surrogate switch
helq Mar 12, 2025
4b6bc9a
Fixing state that wasn't properly reversed
helq Mar 12, 2025
8c8ccbc
Fixing rollback of member `remaining_sz_packets` in terminal_state
helq Mar 12, 2025
ba77a08
Fixing faulty logic when rollbacking event for background traffic
helq Mar 12, 2025
f195835
Merge remote-tracking branch 'origin/hotfix-8k-scalability-issue' int…
helq Mar 12, 2025
ddf1981
Fixing condition for surrogate switch
helq Mar 13, 2025
896b70b
Merge remote-tracking branch 'origin/kronos-gvt-director-refactor' in…
helq Mar 13, 2025
03e5fd4
Fixing the switch from high-fidelity to surrogate
helq Mar 18, 2025
a4cac4d
Adding ability to delete events at director call
helq Mar 18, 2025
dde0551
Fixing some debug output in surrogate switch
helq Mar 18, 2025
18d300e
Adding deep-copy/check/print functions for router_state
helq Mar 21, 2025
244f98a
Fixing reversibility bug in router_state
helq Mar 21, 2025
e7e7535
Updating tie-breaker related code from ROSS update
helq Mar 23, 2025
e0cc46e
Finishing missing components to check in deep-copy/check/print functi…
helq May 29, 2025
0e76693
Moving general PDES code into ROSS
helq May 29, 2025
01e6bf6
Renaming surrogate as network-surrogate
helq May 30, 2025
ab3b951
Renaming network average predictor to allow for more predictors
helq May 30, 2025
77964ab
Network predictors do not need to allocate memory when initialized
helq May 30, 2025
8c65ec2
Each computer node tracks its own workload id
helq May 30, 2025
d3f75b8
Renaming another variable from surrogate to network-surrogate
helq May 31, 2025
9bfa926
Adding some documentation for nw_state
helq Jun 2, 2025
81099b7
Initial implementation of director for application iteration
helq Jun 5, 2025
53f51c4
Fixing bug on predictor when app is not fully distributed across all PEs
helq Jun 9, 2025
ffea77b
Refactoring/renaming some fields to aid legibility
helq Jun 9, 2025
763a71f
De-harcoding parameters passed down by model-net-mpi-replay at init
helq Jun 9, 2025
86c25cd
Configuring application surrogate through config file
helq Jun 9, 2025
fa56d85
Passing data from non-synthetic workloads to CODES through interface
helq Jun 10, 2025
2433b8b
Allowing surrogate to run in sequential mode
helq Jun 10, 2025
26fa2ac
Minor cosmetic change
helq Jun 10, 2025
1b0bdab
Light refactoring of a large function in the application predictor
helq Jun 10, 2025
553f492
Removing old (hardcoded) application surrogate
helq Jun 10, 2025
650fd9e
Refactoring strategy to freeze network in network director
helq Jun 11, 2025
7db95be
Refactor network director to use separate queue for frozen events ins…
helq Jun 11, 2025
c16965f
Network surrogate should be enabled through a custom parameter
helq Jun 11, 2025
9835040
Bug fix - tw_now has been moved out of commit time
helq Jun 12, 2025
bfdfba9
Hooking network surrogate to application surrogate
helq Jun 12, 2025
8e9521b
Wrap dummy event logic with compile-time flag for simulation reproduc…
helq Jun 12, 2025
10edcec
Modifying tests. They all pass now!
helq Jun 12, 2025
9126863
Adding missing garbage collection and print statement
helq Jun 13, 2025
cd766b1
Refactoring some of the common values between surrogates
helq Jun 13, 2025
4969737
Fixing position of bracket
helq Jun 13, 2025
b4b6362
Updating tests
helq Jun 13, 2025
36bc317
Adding tests for UNION
helq Jun 13, 2025
03d7da6
Fixing bug where MILC would not work with network surrogate when free…
helq Jun 16, 2025
fcdf824
Fixed a bug on reading setting from file
helq Jun 16, 2025
1a41fda
Resetting predictor when turning back into full fidelity
helq Jun 16, 2025
e70f540
Adding more tests for Union and the application surrogacy
helq Jun 16, 2025
9b9a1ed
Fixing a bug and adding a test to check for different sizes of chunks…
helq Jun 17, 2025
66511d9
potential/partial fix to unmatched receives bug
helq Jun 17, 2025
ecae4b8
Fixing bugs that show up with Jacobi and chunk size != packet size
helq Jun 17, 2025
737c702
Adding more tests :)
helq Jun 17, 2025
5755e06
Changed terminal_dally_message_list to work with terminal_dally_messa…
helq Jun 17, 2025
1710290
Fixing small silent bug at terminal initialization
helq Jun 17, 2025
3d1b55c
Refactoring routers usage of custom double linked-list for qlist
helq Jun 18, 2025
274f020
Allowing director to be called after simulation ended, to repopulate …
helq Jun 18, 2025
ba7b826
Updating README and compile instructions
helq Jun 18, 2025
07a4002
Small print changes
helq Jun 20, 2025
8be98f9
Allowing conc-online to load json files from config path
helq Jun 20, 2025
25ab4c9
If we pass on a `workload_json_files` conf file, we allow a job to ta…
helq Jun 20, 2025
64c6cce
Extending iterator predictor to predict when to restart the simulation
helq Jun 23, 2025
b992e4a
Making post_init_share_ending_iteration intent clearer
helq Jun 24, 2025
82a69f8
Fixed cross-platform fscanf EOF handling
helq Jun 24, 2025
3295653
Fixing some errors found with valgrind
helq Jun 26, 2025
73cdbd5
Updating CODES-compile-instructions.sh
helq Jun 26, 2025
667dc28
Saving to file when an iteration has been skipped by the surrogate
helq Jun 27, 2025
ed57788
Merge branch 'director-app-automatic' into develop
helq Jun 27, 2025
789c469
Updating compilation instructions
helq Jun 29, 2025
45453ad
Max iteration per app should be computed across all MPI ranks
helq Jun 29, 2025
242707e
Updating compilation instructions
helq Jul 15, 2025
34275e3
Removing support for Autoconf
helq Jul 22, 2025
3d2b726
Adding some of Neil's and Elkin's contributions from the past 5 years
helq Jul 22, 2025
ed9edf5
Updating compilation script
helq Jul 23, 2025
4a055c2
Merge pull request #239 from codes-org/develop
helq Jul 23, 2025
39fbc4f
Fix zmq and ROSS compilation issues
sanjaychari May 21, 2026
0651b5e
Fix torch-jit compilation
sanjaychari May 21, 2026
01a2b16
Allow cpu-based PyTorch usage
sanjaychari May 21, 2026
63693c0
Master branch compatibility and ML models
sanjaychari May 22, 2026
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
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
/maint/codes.pc
/test-driver
.deps
src/surrogate/zmqml/demozmqmlrequester
src/surrogate/zmqml/libzmqmlrequester.so

# make generated artifacts
.dirstamp
Expand All @@ -39,5 +41,8 @@ ross.csv

install-mastiff/include/codes/model-net-method.h

# commonly used building folder
/build/
# commonly used building stuff
/build*/
/build*
.cache
compile_commands.json
310 changes: 310 additions & 0 deletions CODES-compile-instructions.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,310 @@
#!/usr/bin/env bash
set -euo pipefail
set -x

# Switches
swm_enable=0
union_enable=0
torch_enable=1

# Uncomment below for MPICH
#export PATH=/usr/local/mpich-4.1.2/bin/:"$PATH"
# Note: remember to compile MPICH with nemesis not with UCX support

################## Actual scripts starts from here ##################

# SWM has to be enabled for UNION to work
if [ $union_enable = 1 ]; then
swm_enable=1
fi

# What to compile
CUR_DIR="$PWD"

##### Downloading everything #####

if [ ! -d codes/.git ]; then
git clone https://github.com/codes-org/codes --depth=100 --branch=v1.5.0
else
echo "Using existing codes checkout: $(realpath codes)"
fi

if [ ! -d ross/.git ]; then
git clone https://github.com/ross-org/ross --depth=100 --branch=v8.1.0
else
echo "Using existing ross checkout: $(realpath ross)"
fi

if [ $swm_enable = 1 ]; then
git clone https://github.com/pmodels/argobots --depth=1
git clone https://github.com/codes-org/swm-workloads --branch=v1.2
fi

if [ $union_enable = 1 ]; then
# Downloading conceptual
curl -L https://sourceforge.net/projects/conceptual/files/conceptual/1.5.1b/conceptual-1.5.1b.tar.gz -o conceptual-1.5.1b.tar.gz
tar xvf conceptual-1.5.1b.tar.gz
# Downloading union
git clone https://github.com/SPEAR-UIC/Union
pushd Union && git checkout 99b3df3 && popd
fi

##### COMPILING #####

mkdir -p ross/build
pushd ross/build
cmake .. -DROSS_BUILD_MODELS=ON -DCMAKE_INSTALL_PREFIX="$(realpath ./bin)" \
-DCMAKE_C_COMPILER=mpicc -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-g -Wall"
#make VERBOSE=1
make install -j4
err=$?
[[ $err -ne 0 ]] && exit $err
popd

if [ $swm_enable = 1 ]; then
pushd swm-workloads/swm
./prepare.sh
mkdir -p build
pushd build
../configure --disable-shared --prefix="$(realpath ./bin)" CC=mpicc CXX=mpicxx CFLAGS=-g CXXFLAGS=-g
#make V=1 && make install
make -j4 && make install
err=$?
[[ $err -ne 0 ]] && exit $err
popd && popd

pushd argobots
./autogen.sh
mkdir -p build
pushd build
#../configure --enable-debug=all --disable-fast --disable-shared --prefix="$(realpath ./bin)" CC=mpicc CXX=mpicxx CFLAGS=-g CXXFLAGS=-g
../configure --disable-shared --prefix="$(realpath ./bin)" CC=mpicc CXX=mpicxx CFLAGS=-g CXXFLAGS=-g
#make V=1 && make install
make -j4 && make install
err=$?
[[ $err -ne 0 ]] && exit $err
popd && popd
fi

if [ $union_enable = 1 ]; then
pushd conceptual-1.5.1b
PYTHON=python2 ./configure --prefix="$(realpath ./install)" LIBS=-lm
make -j4 && make install
err=$?
[[ $err -ne 0 ]] && exit $err
popd

pushd Union
# Python 2 override. Union expects Python 2 ONLY
mkdir -p python-override
ln -s /usr/bin/python2 python-override/python
# compiling
./prepare.sh
PYTHON=python2 ./configure --disable-shared --with-conceptual="$(realpath ../conceptual-1.5.1b/install)" --with-conceptual-src="$(realpath ../conceptual-1.5.1b)" --prefix="$(realpath ./install)" CC=mpicc CXX=mpicxx
PATH="$PWD/python-override:$PATH" make -j4 && make install
err=$?
[[ $err -ne 0 ]] && exit $err
popd
fi


# Build local ZMQML requester library required by director-client.C
pushd codes/src/surrogate/zmqml
make clean
make
test -f libzmqmlrequester.so
test -f zmqmlrequester.h
popd

# Make imported zmqmlrequester target visible to doc/example and tests.
python3 - <<'INNERPY'
from pathlib import Path
cm = Path("codes/src/CMakeLists.txt")
text = cm.read_text()
old = "add_library(zmqmlrequester SHARED IMPORTED )"
new = "add_library(zmqmlrequester SHARED IMPORTED GLOBAL)"
if old in text:
cm.write_text(text.replace(old, new))
elif new in text:
pass
else:
raise SystemExit("Could not find zmqmlrequester imported target line in codes/src/CMakeLists.txt")
INNERPY

mkdir -p codes/build
pushd codes/build

torch_cmake_prefix=""
torch_dir=""

if [ "$torch_enable" = 1 ]; then
torch_cmake_prefix="$(python3 - <<'INNERPY'
import torch
print(torch.utils.cmake_prefix_path)
INNERPY
)"
torch_dir="${torch_cmake_prefix}/Torch"

if [ ! -f "${torch_dir}/TorchConfig.cmake" ]; then
echo "ERROR: TorchConfig.cmake not found at: ${torch_dir}/TorchConfig.cmake" >&2
echo " torch.utils.cmake_prefix_path returned: ${torch_cmake_prefix}" >&2
exit 1
fi

echo "Using Torch CMake prefix: ${torch_cmake_prefix}"
echo "Using Torch_DIR: ${torch_dir}"

# CUDA is intentionally opt-in.
# Default to CPU-only Torch-JIT compilation unless CUDA_HOME is explicitly set.
#
# To enable CUDA, run for example:
# export CUDA_HOME=/usr/local/cuda-12.4
# ./CODES-compile-instructions.sh
torch_cuda_version="$(python3 - <<'INNERPY'
import torch
print(torch.version.cuda or "")
INNERPY
)"

cuda_arch=""
if [ -z "${CUDA_HOME:-}" ] && [ -n "${torch_cuda_version}" ]; then
echo "ERROR: CUDA_HOME is not set, so this script is defaulting to CPU-only Torch-JIT compilation." >&2
echo " However, the active Python environment has a CUDA-enabled PyTorch build:" >&2
echo " torch.version.cuda=${torch_cuda_version}" >&2
echo "" >&2
echo " CMake cannot use a CUDA-enabled PyTorch package as a CPU-only LibTorch package." >&2
echo " Choose one of the following:" >&2
echo " 1. For CPU-only compilation, install a CPU-only PyTorch build in this environment." >&2
echo " 2. For CUDA compilation, export CUDA_HOME to your CUDA toolkit root." >&2
echo "" >&2
echo " Example CUDA build:" >&2
echo " export CUDA_HOME=/usr/local/cuda-12.4" >&2
echo " bash CODES-compile-instructions.sh" >&2
exit 1
fi

if [ -n "${CUDA_HOME:-}" ]; then
if [ ! -f "${CUDA_HOME}/include/cuda_runtime_api.h" ]; then
echo "ERROR: CUDA_HOME is set, but missing CUDA header: ${CUDA_HOME}/include/cuda_runtime_api.h" >&2
exit 1
fi

if [ ! -f "${CUDA_HOME}/lib64/libcudart.so" ] && [ ! -f "${CUDA_HOME}/lib/libcudart.so" ]; then
echo "ERROR: CUDA_HOME is set, but missing CUDA runtime library under ${CUDA_HOME}/lib64 or ${CUDA_HOME}/lib" >&2
exit 1
fi

if [ ! -x "${CUDA_HOME}/bin/nvcc" ]; then
echo "ERROR: CUDA_HOME is set, but missing CUDA compiler: ${CUDA_HOME}/bin/nvcc" >&2
exit 1
fi

if [ ! -d "${CUDA_HOME}/nvvm/libdevice" ]; then
echo "ERROR: CUDA_HOME is set, but missing CUDA libdevice directory: ${CUDA_HOME}/nvvm/libdevice" >&2
exit 1
fi

if command -v nvidia-smi >/dev/null 2>&1; then
cuda_arch="$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader 2>/dev/null | head -n1 | tr -d '.[:space:]' || true)"
fi

if [ -z "${cuda_arch}" ]; then
echo "WARNING: Could not auto-detect GPU compute capability with nvidia-smi." >&2
echo " Falling back to CMAKE_CUDA_ARCHITECTURES=80." >&2
cuda_arch="80"
fi

export CUDA_HOME
export CUDA_PATH="${CUDA_HOME}"
export CUDA_ROOT="${CUDA_HOME}"
export CUDA_TOOLKIT_ROOT_DIR="${CUDA_HOME}"
export CUDAToolkit_ROOT="${CUDA_HOME}"
export CUDACXX="${CUDA_HOME}/bin/nvcc"
export PATH="${CUDA_HOME}/bin:${PATH}"
export LD_LIBRARY_PATH="${CUDA_HOME}/lib64:${CUDA_HOME}/lib:${LD_LIBRARY_PATH:-}"

echo "CUDA_HOME is set; enabling CUDA Torch-JIT compilation."
echo "Using CUDA_HOME: ${CUDA_HOME}"
echo "Using CUDACXX: ${CUDACXX}"
echo "Using CMAKE_CUDA_ARCHITECTURES=${cuda_arch}"
else
echo "CUDA_HOME is not set; forcing CPU-only Torch-JIT compilation."

# Prevent accidental CUDA discovery from /usr/local/cuda, nvcc on PATH,
# inherited CMake cache variables, or CUDA-enabled PyTorch metadata.
unset CUDA_HOME
unset CUDA_PATH
unset CUDA_ROOT
unset CUDA_TOOLKIT_ROOT_DIR
unset CUDAToolkit_ROOT
unset CUDACXX
unset CMAKE_CUDA_COMPILER
fi
fi

cmake_prefix_path="$(realpath "$CUR_DIR/ross/build/bin")"
if [ "$torch_enable" = 1 ]; then
cmake_prefix_path="${cmake_prefix_path};${torch_cmake_prefix}"
fi

make_args_codes=(
-DCMAKE_PREFIX_PATH="${cmake_prefix_path}"
-DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc
-DCMAKE_C_FLAGS="-g -Wall"
-DCMAKE_CXX_FLAGS="-g -Wall"
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON
-DCMAKE_INSTALL_PREFIX="$(realpath bin)"
-DZMQML_BUILD_PATH="$(realpath "$CUR_DIR/codes/src/surrogate/zmqml")"
-DZeroMQ_INCLUDE_DIR=/usr/include
-DZeroMQ_LIBRARY=/usr/lib/x86_64-linux-gnu/libzmq.so
)
if [ $swm_enable = 1 ]; then
make_args_codes=(
"${make_args_codes[@]}"
-DSWM_PKG_CONFIG_PATH="$(realpath "$CUR_DIR/swm-workloads/swm/build/maint")"
-DARGOBOTS_PKG_CONFIG_PATH="$(realpath "$CUR_DIR/argobots/build/maint")"
)
fi
if [ $union_enable = 1 ]; then
make_args_codes=(
"${make_args_codes[@]}"
-DUNION_PKG_CONFIG_PATH="$(realpath "$CUR_DIR/Union/install/lib/pkgconfig")"
)
fi
if [ "$torch_enable" = 1 ]; then
make_args_codes=(
"${make_args_codes[@]}"
-DUSE_TORCH=true
-DTorch_DIR="${torch_dir}"
)

if [ -n "${CUDA_HOME:-}" ]; then
make_args_codes=(
"${make_args_codes[@]}"
-DCUDA_TOOLKIT_ROOT_DIR="${CUDA_HOME}"
-DCUDAToolkit_ROOT="${CUDA_HOME}"
-DCUDA_PATH="${CUDA_HOME}"
-DCUDA_ROOT="${CUDA_HOME}"
-DCMAKE_CUDA_COMPILER="${CUDA_HOME}/bin/nvcc"
-DCMAKE_CUDA_ARCHITECTURES="${cuda_arch}"
-DCUDA_INCLUDE_DIRS="${CUDA_HOME}/include"
-DCUDA_CUDART_LIBRARY="${CUDA_HOME}/lib64/libcudart.so"
)
else
make_args_codes=(
"${make_args_codes[@]}"
-DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-DCMAKE_DISABLE_FIND_PACKAGE_CUDAToolkit=ON
)
fi
else
make_args_codes=("${make_args_codes[@]}" -DUSE_TORCH=false)
fi

cmake .. "${make_args_codes[@]}"
#make VERBOSE=1
make -j4
err=$?
[[ $err -ne 0 ]] && exit $err

popd
18 changes: 18 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Contributors to date (with affiliations at time of contribution)
- Lee Savoie, Univ. of Arizona
- Ning Liu, Rensselaer Polytechnic Institute
- Jason Cope, Argonne National Laboratory
- Kevin A. Brown, Argonne National Laboratory
- Elkin Cruz, Rensselaer Polytechnic Institute

Contributions:

Expand All @@ -40,6 +42,8 @@ Neil McGlohon (RPI)
- Merged 1-D dragonfly and 2-D dragonfly network models.
- Updated adaptive routing in megafly and 1-D dragonfly network models.
- Extended slim fly network model's dual-rail mode to arbitrary number of rails (pending).
- Implemented Quality of Service (QoS) in 1-D dragonfly network.
- Implemented changes needed to allow ROSS's tiebreaker mechanism.

Nikhil Jain, Abhinav Bhatele (LLNL)
- Improvements in credit-based flow control of CODES dragonfly and torus network models.
Expand Down Expand Up @@ -78,3 +82,17 @@ Caitlin Ross (RPI):
- Added instrumentation so that network models can report sampled
statistics over virtual time (pending).
- Bug reporter for CODES models.

Elkin Cruz (RPI)
- Added network surrogate for 1-D Dragonfly model (dragonfly-dally).
- Added application surrogate for MPI replay (model-net-mpi-replay).
- Implemented API to allow network and application surrogates to switch as
simulation runs (aka, hybrid simulation).
- Added network and application level directors, which coordinate data
transference between model and predictor.
- Added simple averaged-based network and application predictors (they are
given simulation data and are in charge of predicting future states of the
simulation, skipping computation).
- Implemented necessary scaffolding to check for bugs in reversible
computation (to be used with SEQUENTIAL_ROLLBACK_CHECK option in ROSS).
- Fixed reversible computation bugs on 1-D Dragonfly network.
22 changes: 0 additions & 22 deletions LICENSE.md

This file was deleted.

Loading