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

Add phase testing capability to DRAMsim3 #5

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
4a66259
Add ideal memory flag
sudhanshu2 Sep 23, 2021
32ae39f
Add model swap memory system
sudhanshu2 Sep 27, 2021
42f5134
Merge pull request #1 from sudhanshu2/build-test
sudhanshu2 Sep 27, 2021
4ad41b8
Add ability to perform multiple transactions per controller
sudhanshu2 Sep 29, 2021
d125a59
Merge pull request #2 from sudhanshu2/ideal-memory
sudhanshu2 Oct 7, 2021
afea3b8
added gitattributes and phase test driver class
emosy Oct 21, 2021
88edf98
removed test driver
emosy Oct 21, 2021
33d9854
add OnlineCPU class
emosy Oct 21, 2021
86f12cc
add resetstats method to CPU
emosy Oct 21, 2021
2bbc29c
added registering callbacks to onlinecpu
emosy Oct 28, 2021
7387106
update .gitignore to ignore cmake output
emosy Oct 28, 2021
125bc9d
Add ideal memory configuration
sudhanshu2 Oct 28, 2021
0944bef
delete heatmap and validation
emosy Oct 28, 2021
b349c27
Merge pull request #1 from emosy/ideal-memory
emosy Oct 28, 2021
bb90b47
Merge pull request #4 from sudhanshu2/ideal-memory
sudhanshu2 Oct 29, 2021
49816dd
Merge pull request #3 from emosy/phase-testing
sudhanshu2 Oct 29, 2021
8d8e49c
Add `.DS_Store` to `.gitignore` and create new folder for `config` files
sudhanshu2 Oct 29, 2021
62fe0c9
Add large transaction queue config
sudhanshu2 Oct 29, 2021
23f91c7
Added phase statistics (not tested yet)
sudhanshu2 Dec 16, 2021
c337796
Add phase model driver
sudhanshu2 Feb 13, 2022
f1f7b1a
Add Docker support
sudhanshu2 Feb 14, 2022
0dfad60
Add example for using phase model
sudhanshu2 Feb 14, 2022
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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* text=auto eol=lf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,16 @@ release

# IDEs / Editors
.vscode/

# Temporary traces
dramsim3.json
dramsim3.txt

# CMake stuff
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
Makefile

# DS_Store
.DS_Store
25 changes: 20 additions & 5 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"version": "2.0.0",
"command": "make",
"isShellCommand": true,
"args": ["-j5"],
"showOutput": "always",
"args": [
"-j5"
],
"options": {
"cwd": "${workspaceRoot}/build"
}
},
"tasks": [
{
"label": "make",
"type": "shell",
"command": "make",
"args": [
"-j5"
],
"problemMatcher": [],
"group": {
"_id": "build",
"isDefault": false
}
}
]
}
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ add_library(dramsim3 SHARED
src/simple_stats.cc
src/timing.cc
src/memory_system.cc
src/phase_stats.cc
src/phase_detector.cc
)

if (THERMAL)
Expand Down Expand Up @@ -67,6 +69,10 @@ if (THERMAL)
target_compile_options(thermalreplay PRIVATE -DTHERMAL -D_LONGINT -DAdd_ ${OpenMP_C_FLAGS})
endif (THERMAL)

if (PHASEANALYSIS)
target_compile_options(dramsim3 PRIVATE -DPHASEANALYSIS)
endif (PHASEANALYSIS)

if (CMD_TRACE)
target_compile_options(dramsim3 PRIVATE -DCMD_TRACE)
endif (CMD_TRACE)
Expand Down
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM ubuntu:20.04

WORKDIR ../DRAMSIM3

RUN apt-get update \
&& apt-get install -y make \
&& apt-get install -y cmake \
&& apt-get install -y build-essential
68 changes: 68 additions & 0 deletions configs_custom/DDR3_8Gb_x16_1866_ideal.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[dram_structure]
protocol = IDEAL
bankgroups = 1
banks_per_group = 8
rows = 65536
columns = 1024
device_width = 16
BL = 8

[timing]
tCK = 1.07
AL = 0
CL = 13
CWL = 9
tRCD = 13
tRP = 13
tRAS = 32
tRFC = 328
tRFC2 = 328
tRFC4 = 328
REFI = 7290
tRPRE = 0
tWPRE = 0
tRRD_S = 6
tRRD_L =
tWTR_S = 7
tWTR_L = 7
tFAW = 33
tWR = 15
tWR2 = 15
tRTP = 7
tCCD_S = 4
tCCD_L = 4
tCKE = 5
tCKESR = 6
tXS = 338
tXP = 6
tRTRS = 1
ideal_memory_latency = 20

[power]
VDD = 1.35
IDD0 = 69
IPP0 = 0.0
IDD2P = 11
IDD2N = 38
IDD3P = 38
IDD3N = 53
IDD4W = 195
IDD4R = 195
IDD5AB = 275
IDD6x = 24

[system]
channel_size = 8192
channels = 1
bus_width = 64
address_mapping = rochrababgco
queue_structure = PER_BANK
refresh_policy = RANK_LEVEL_STAGGERED
row_buf_policy = OPEN_PAGE
cmd_queue_size = 8
trans_queue_size = 32

[other]
epoch_period = 934579
output_level = 1

68 changes: 68 additions & 0 deletions configs_custom/DDR3_8Gb_x16_1866_large_transaction_queue.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[dram_structure]
protocol = MODEL_SWAP
bankgroups = 1
banks_per_group = 8
rows = 65536
columns = 1024
device_width = 16
BL = 8

[timing]
tCK = 1.07
AL = 0
CL = 13
CWL = 9
tRCD = 13
tRP = 13
tRAS = 32
tRFC = 328
tRFC2 = 328
tRFC4 = 328
REFI = 7290
tRPRE = 0
tWPRE = 0
tRRD_S = 6
tRRD_L =
tWTR_S = 7
tWTR_L = 7
tFAW = 33
tWR = 15
tWR2 = 15
tRTP = 7
tCCD_S = 4
tCCD_L = 4
tCKE = 5
tCKESR = 6
tXS = 338
tXP = 6
tRTRS = 1
ideal_memory_latency = 20

[power]
VDD = 1.35
IDD0 = 69
IPP0 = 0.0
IDD2P = 11
IDD2N = 38
IDD3P = 38
IDD3N = 53
IDD4W = 195
IDD4R = 195
IDD5AB = 275
IDD6x = 24

[system]
channel_size = 8192
channels = 1
bus_width = 64
address_mapping = rochrababgco
queue_structure = PER_BANK
refresh_policy = RANK_LEVEL_STAGGERED
row_buf_policy = OPEN_PAGE
cmd_queue_size = 8
trans_queue_size = 1024

[other]
epoch_period = 934579
output_level = 1

68 changes: 68 additions & 0 deletions configs_custom/DDR3_8Gb_x16_1866_model_swap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[dram_structure]
protocol = MODEL_SWAP
bankgroups = 1
banks_per_group = 8
rows = 65536
columns = 1024
device_width = 16
BL = 8

[timing]
tCK = 1.07
AL = 0
CL = 13
CWL = 9
tRCD = 13
tRP = 13
tRAS = 32
tRFC = 328
tRFC2 = 328
tRFC4 = 328
REFI = 7290
tRPRE = 0
tWPRE = 0
tRRD_S = 6
tRRD_L =
tWTR_S = 7
tWTR_L = 7
tFAW = 33
tWR = 15
tWR2 = 15
tRTP = 7
tCCD_S = 4
tCCD_L = 4
tCKE = 5
tCKESR = 6
tXS = 338
tXP = 6
tRTRS = 1
ideal_memory_latency = 20

[power]
VDD = 1.35
IDD0 = 69
IPP0 = 0.0
IDD2P = 11
IDD2N = 38
IDD3P = 38
IDD3N = 53
IDD4W = 195
IDD4R = 195
IDD5AB = 275
IDD6x = 24

[system]
channel_size = 8192
channels = 1
bus_width = 64
address_mapping = rochrababgco
queue_structure = PER_BANK
refresh_policy = RANK_LEVEL_STAGGERED
row_buf_policy = OPEN_PAGE
cmd_queue_size = 8
trans_queue_size = 32

[other]
epoch_period = 934579
output_level = 1

Loading