Skip to content

Commit b7c8c53

Browse files
authored
Merge pull request #869 from UWB-Biocomputing/SharedDevelopment
Release for summer 2025
2 parents 62ad162 + 2647cdf commit b7c8c53

252 files changed

Lines changed: 5934 additions & 187538 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml
7777
- name: verify test-small-911
7878
if: always() && steps.tt.conclusion == 'success'
79-
run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/test-small-911-out.xml
79+
run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml
8080

8181
- id: tm
8282
name: run test-medium

.gitignore

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ ThirdParty/log4cplus-2.0.7/src/liblog4cplus.so.2.0.7
4141
graphitti
4242
ggraphitti
4343
cgraphitti
44+
compare_matrices
4445
tests
45-
serialTest
46-
deserialTest
46+
serialFullTest
47+
serialFirstHalfTest
48+
serialSecondHalfTest
4749
serialFileAccessTest
48-
#recorderTest
50+
core
51+
# core is generated by GDB during debugging
52+
53+
# Recorder Test
4954
*.exe
5055
*.out
5156
*.app
@@ -93,3 +98,6 @@ Testing/RegressionTesting/TestOutput/*.xml
9398
Testing/RegressionTesting/TestOutput/*.h5
9499
Testing/UnitTesting/TestOutput/*.xml
95100
Testing/UnitTesting/TestOutput/*.h5
101+
102+
# Machine Specific build script
103+
build.sh

CMakeLists.txt

Lines changed: 203 additions & 73 deletions
Large diffs are not rendered by default.

Contributors.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@ ChengHao Hsu
7878

7979
Zaina Shaikh
8080

81+
Rimjhim Sudhesh
82+
83+
## 2025
84+
Andrew Madison
85+
86+
Padmanabh Patil
87+
88+
Lawrence Scott
89+
8190
<!-- ---------------------------------------------------------------------------------- -->
8291
# Graduate
8392

Simulator/Connections/Connections.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,16 @@ Connections::Connections()
3838

3939
// Register loadParameters function with Operation Manager
4040
function<void()> loadParamsFunc = bind(&Connections::loadParameters, this);
41-
opsManager.registerOperation(Operations::op::loadParameters, loadParamsFunc);
41+
opsManager.registerOperation(Operations::loadParameters, loadParamsFunc);
4242

4343
// Register registerGraphProperties as Operations registerGraphProperties
4444
function<void()> regGraphPropsFunc = bind(&Connections::registerGraphProperties, this);
4545
opsManager.registerOperation(Operations::registerGraphProperties, regGraphPropsFunc);
4646

47+
// Register registerHistoryVariables function as a registerHistoryVariables operation in the OperationManager
48+
function<void()> registerHistoryVarsFunc = bind(&Connections::registerHistoryVariables, this);
49+
opsManager.registerOperation(Operations::registerHistoryVariables, registerHistoryVarsFunc);
50+
4751
// Get a copy of the file logger to use log4cplus macros
4852
fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file"));
4953
edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge"));
@@ -81,25 +85,23 @@ void Connections::createEdgeIndexMap()
8185

8286
/// Update the connections status in every epoch.
8387
///
84-
/// @param vertices The vertex list to search from.
8588
/// @return true if successful, false otherwise.
86-
bool Connections::updateConnections(AllVertices &vertices)
89+
bool Connections::updateConnections()
8790
{
8891
return false;
8992
}
9093

9194
#if defined(USE_GPU)
92-
void Connections::updateSynapsesWeights(int numVertices, AllVertices &vertices, AllEdges &synapses,
93-
AllSpikingNeuronsDeviceProperties *allVerticesDevice,
94-
AllSpikingSynapsesDeviceProperties *allEdgesDevice,
95-
Layout &layout)
95+
void Connections::updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges,
96+
AllVerticesDeviceProperties *allVerticesDevice,
97+
AllEdgesDeviceProperties *allEdgesDevice, Layout &layout)
9698
{
9799
}
98100
#else
99101

100-
/// Update the weight of the Synapses in the simulation.
102+
/// Update the weight of the edges in the simulation.
101103
/// Note: Platform Dependent.
102-
void Connections::updateSynapsesWeights()
104+
void Connections::updateEdgesWeights()
103105
{
104106
}
105107
#endif // !USE_GPU

Simulator/Connections/Connections.h

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
#pragma once
2525

2626
#include "AllEdges.h"
27-
#include "AllSpikingNeurons.h"
28-
#include "AllSpikingSynapses.h"
2927
#include "AllVertices.h"
3028
#include "EdgeIndexMap.h"
3129
#include "Layout.h"
@@ -67,46 +65,49 @@ class Connections {
6765
/// Registered to OperationManager as Operation::printParameters
6866
virtual void printParameters() const = 0;
6967

68+
/// Registers history variables for recording during simulation
69+
virtual void registerHistoryVariables() = 0;
70+
7071
/// Update the connections status in every epoch.
7172
///
72-
/// @param neurons The Neuron list to search from.
7373
/// @return true if successful, false otherwise.
74-
virtual bool updateConnections(AllVertices &vertices);
74+
virtual bool updateConnections();
7575

7676
/// Cereal serialization method
7777
template <class Archive> void serialize(Archive &archive);
7878

7979
#if defined(USE_GPU)
8080
public:
81-
/// Update the weight of the Synapses in the simulation.
81+
/// Update the weight of the edges in the simulation.
8282
/// Note: Platform Dependent.
8383
///
8484
/// @param numVertices number of vertices to update.
85-
/// @param neurons the Neuron list to search from.
86-
/// @param synapses the Synapse list to search from.
85+
/// @param vertices the vertex list to search from.
86+
/// @param edges the edge list to search from.
8787
/// @param allVerticesDevice GPU address of the allVertices struct on device memory.
88-
/// @param allEdgesDevice GPU address of the allEdges struct on device memory.
89-
/// @param layout Layout information of the neural network.
90-
virtual void updateSynapsesWeights(int numVertices, AllVertices &vertices, AllEdges &synapses,
91-
AllSpikingNeuronsDeviceProperties *allVerticesDevice,
92-
AllSpikingSynapsesDeviceProperties *allEdgesDevice,
93-
Layout &layout);
88+
/// @param allEdgesDevice GPU address of the allEdges struct on device memory.
89+
/// @param layout Layout information of the graph network.
90+
virtual void updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges,
91+
AllVerticesDeviceProperties *allVerticesDevice,
92+
AllEdgesDeviceProperties *allEdgesDevice, Layout &layout);
9493
#else
9594
public:
96-
/// Update the weight of the Synapses in the simulation.
95+
/// Update the weight of the edges in the simulation.
9796
/// Note: Platform Dependent.
98-
virtual void updateSynapsesWeights();
97+
virtual void updateEdgesWeights();
9998

10099
#endif // USE_GPU
101100

102101
protected:
103102
unique_ptr<AllEdges> edges_;
103+
/// TODO: Rename to edgeIndexMap_ since this is a base class
104104
unique_ptr<EdgeIndexMap> synapseIndexMap_;
105105

106106
log4cplus::Logger fileLogger_;
107107
log4cplus::Logger edgeLogger_;
108108
};
109109

110+
/// TODO: Rename to synapseIndexMap since this is a base class
110111
/// Cereal serialization method
111112
template <class Archive> void Connections::serialize(Archive &archive)
112113
{

0 commit comments

Comments
 (0)