finished lab 5
This commit is contained in:
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -59,6 +59,7 @@
|
||||
"xutility": "cpp",
|
||||
"stop_token": "cpp",
|
||||
"thread": "cpp",
|
||||
"array": "cpp"
|
||||
"array": "cpp",
|
||||
"mutex": "cpp"
|
||||
}
|
||||
}
|
||||
BIN
lab05/HPC-Lab-05.pdf
Normal file
BIN
lab05/HPC-Lab-05.pdf
Normal file
Binary file not shown.
134
lab05/matrixVectorProductRowCalculation.cpp
Normal file
134
lab05/matrixVectorProductRowCalculation.cpp
Normal file
@@ -0,0 +1,134 @@
|
||||
#include <benchmark/benchmark.h>
|
||||
#include <cmath>
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include "matrix.h"
|
||||
#include "test.h"
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
// Create the matrix and vector to be multiplied and fill them
|
||||
// with some sensible initial values.
|
||||
std::pair<Matrix, std::vector<double>> createMatrixAndVector()
|
||||
{
|
||||
const int n = 1e3 * 9;
|
||||
Matrix mat(n, n);
|
||||
for (int i = 0; i < n; ++i)
|
||||
{
|
||||
for (int j = 0; j < n; ++j)
|
||||
{
|
||||
mat(i, j) = pow(-1, i) * (i + j);
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<double> vec(n);
|
||||
for (int i = 0; i < n; ++i)
|
||||
{
|
||||
vec[i] = 1. / (i + 1);
|
||||
}
|
||||
|
||||
return std::pair(mat, vec);
|
||||
}
|
||||
|
||||
// Verify that the computed result is correct. Rather inefficient,
|
||||
// since it runs on a single core.
|
||||
void verifyResult(const std::vector<double> result)
|
||||
{
|
||||
auto [mat, vec] = createMatrixAndVector();
|
||||
const int n = vec.size();
|
||||
|
||||
for (int i = 0; i < n; ++i)
|
||||
{
|
||||
double expected = 0;
|
||||
for (int j = 0; j < n; ++j)
|
||||
{
|
||||
expected += mat(i, j) * vec[j];
|
||||
}
|
||||
check(result[i], expected);
|
||||
}
|
||||
}
|
||||
|
||||
void computeResult(
|
||||
const Matrix &mat,
|
||||
const std::vector<double> &vec,
|
||||
std::vector<double> &result,
|
||||
int row)
|
||||
{
|
||||
int n = vec.size();
|
||||
for (int col = 0; col < n; col++)
|
||||
{
|
||||
result[row] += mat(row, col) * vec[col];
|
||||
}
|
||||
}
|
||||
|
||||
void workerThread(
|
||||
const Matrix &mat,
|
||||
const std::vector<double> &vec,
|
||||
std::vector<double> &result,
|
||||
std::atomic<int> &rowIndex,
|
||||
int &rowsComputed)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
int row = rowIndex.fetch_add(1);
|
||||
if (row >= vec.size()) break;
|
||||
computeResult(mat, vec, result, row);
|
||||
rowsComputed++;
|
||||
}
|
||||
}
|
||||
|
||||
void storeRowsComputedPerThread(std::vector<int> &rowsComputedPerThread, int threadCount, int stateCount) {
|
||||
std::stringstream fileName;
|
||||
fileName << "stats" << threadCount << "_" << stateCount << ".csv";
|
||||
std::ofstream MyFile(fileName.str());
|
||||
for (auto entry : rowsComputedPerThread) {
|
||||
MyFile << entry << ",";
|
||||
}
|
||||
MyFile.close();
|
||||
}
|
||||
|
||||
void benchmarkComputeResult(benchmark::State &state)
|
||||
{
|
||||
int threadCount = state.range(0);
|
||||
auto [mat, vec] = createMatrixAndVector();
|
||||
int stateCount = 0;
|
||||
for (auto _ : state)
|
||||
{
|
||||
std::atomic<int> rowIndex = 0;
|
||||
std::vector<std::thread> threadPool;
|
||||
std::vector<double> result(vec.size(), 0);
|
||||
std::vector<int> rowsComputedPerThread(threadCount, 0);
|
||||
for (int threadIndex = 0; threadIndex < threadCount; threadIndex++)
|
||||
{
|
||||
threadPool.emplace_back(
|
||||
workerThread, std::ref(mat), std::ref(vec),
|
||||
std::ref(result), std::ref(rowIndex), std::ref(rowsComputedPerThread[threadIndex]));
|
||||
}
|
||||
|
||||
for (int threadIndex = 0; threadIndex < threadCount; threadIndex++)
|
||||
{
|
||||
threadPool[threadIndex].join();
|
||||
}
|
||||
storeRowsComputedPerThread(rowsComputedPerThread, threadCount, stateCount);
|
||||
benchmark::DoNotOptimize(result);
|
||||
stateCount++;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
::benchmark::Initialize(&argc, argv);
|
||||
|
||||
std::vector<int> threads = {1, 2, 3, 4, 6, 9, 12};
|
||||
|
||||
for (int i = 0; i < threads.size(); i++)
|
||||
{
|
||||
benchmark::RegisterBenchmark("idk", benchmarkComputeResult)
|
||||
->Arg(threads[i])
|
||||
->Unit(benchmark::kMillisecond);
|
||||
}
|
||||
|
||||
::benchmark::RunSpecifiedBenchmarks();
|
||||
|
||||
return 0;
|
||||
}
|
||||
37
lab05/plot_mVPDI.py
Normal file
37
lab05/plot_mVPDI.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import json
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Path to the benchmark results JSON
|
||||
filename = "./results_mVPRC.json"
|
||||
|
||||
# Load the data
|
||||
with open(filename, "r") as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Constants
|
||||
total_flops = 18000
|
||||
|
||||
# Data storage
|
||||
thread_counts = []
|
||||
flops = []
|
||||
|
||||
# Extract relevant data
|
||||
for entry in data["benchmarks"]:
|
||||
thread_count = int(entry["name"].split("/")[-1])
|
||||
time_per_iter_ms = entry["real_time"]
|
||||
time_total_s = (time_per_iter_ms) / 1000 # convert ms to s
|
||||
|
||||
flops_per_second = total_flops / time_total_s
|
||||
|
||||
thread_counts.append(thread_count)
|
||||
flops.append(flops_per_second)
|
||||
|
||||
# Plotting
|
||||
plt.figure(figsize=(8, 5))
|
||||
plt.plot(thread_counts, flops, marker="o")
|
||||
plt.xlabel("Thread Count")
|
||||
plt.ylabel("Performance (FLOPS)")
|
||||
plt.title("Performance (FLOPS) vs Thread Count")
|
||||
plt.grid(True)
|
||||
plt.tight_layout()
|
||||
plt.show()
|
||||
124
lab05/results_mVPDI.json
Normal file
124
lab05/results_mVPDI.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"context": {
|
||||
"date": "2025-04-19T12:35:39+02:00",
|
||||
"host_name": "hpcvl1",
|
||||
"executable": "./mVPDI",
|
||||
"num_cpus": 12,
|
||||
"mhz_per_cpu": 3100,
|
||||
"cpu_scaling_enabled": true,
|
||||
"caches": [
|
||||
{
|
||||
"type": "Data",
|
||||
"level": 1,
|
||||
"size": 32768,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Instruction",
|
||||
"level": 1,
|
||||
"size": 32768,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Unified",
|
||||
"level": 2,
|
||||
"size": 262144,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Unified",
|
||||
"level": 3,
|
||||
"size": 15728640,
|
||||
"num_sharing": 6
|
||||
}
|
||||
],
|
||||
"load_avg": [0,0,0],
|
||||
"library_build_type": "release"
|
||||
},
|
||||
"benchmarks": [
|
||||
{
|
||||
"name": "idk/1",
|
||||
"run_name": "idk/1",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 9.0830782328266650e+01,
|
||||
"cpu_time": 1.2582504000000050e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/2",
|
||||
"run_name": "idk/2",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 4.8641373829450458e+01,
|
||||
"cpu_time": 1.4497118999999614e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/3",
|
||||
"run_name": "idk/3",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 3.4412161840591580e+01,
|
||||
"cpu_time": 2.0588515000000029e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/4",
|
||||
"run_name": "idk/4",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 2.7137287650257349e+01,
|
||||
"cpu_time": 2.4066663999999349e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/6",
|
||||
"run_name": "idk/6",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 1000,
|
||||
"real_time": 2.0151479526888579e+01,
|
||||
"cpu_time": 3.9556471800000281e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/9",
|
||||
"run_name": "idk/9",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 860,
|
||||
"real_time": 2.2973610189483438e+01,
|
||||
"cpu_time": 7.7354559418604130e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/12",
|
||||
"run_name": "idk/12",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 407,
|
||||
"real_time": 2.0264966373334133e+01,
|
||||
"cpu_time": 1.6165737911547986e+00,
|
||||
"time_unit": "ms"
|
||||
}
|
||||
]
|
||||
}
|
||||
124
lab05/results_mVPRC.json
Normal file
124
lab05/results_mVPRC.json
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"context": {
|
||||
"date": "2025-04-19T13:46:32+02:00",
|
||||
"host_name": "hpcvl1",
|
||||
"executable": "./mVPRC",
|
||||
"num_cpus": 12,
|
||||
"mhz_per_cpu": 3100,
|
||||
"cpu_scaling_enabled": true,
|
||||
"caches": [
|
||||
{
|
||||
"type": "Data",
|
||||
"level": 1,
|
||||
"size": 32768,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Instruction",
|
||||
"level": 1,
|
||||
"size": 32768,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Unified",
|
||||
"level": 2,
|
||||
"size": 262144,
|
||||
"num_sharing": 1
|
||||
},
|
||||
{
|
||||
"type": "Unified",
|
||||
"level": 3,
|
||||
"size": 15728640,
|
||||
"num_sharing": 6
|
||||
}
|
||||
],
|
||||
"load_avg": [0.23,0.93,0.51],
|
||||
"library_build_type": "release"
|
||||
},
|
||||
"benchmarks": [
|
||||
{
|
||||
"name": "idk/1",
|
||||
"run_name": "idk/1",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 8.6220469688996673e+01,
|
||||
"cpu_time": 4.3488812999999737e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/2",
|
||||
"run_name": "idk/2",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 4.8378378117922693e+01,
|
||||
"cpu_time": 3.8731846000001013e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/3",
|
||||
"run_name": "idk/3",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 3.5638073959853500e+01,
|
||||
"cpu_time": 3.2923404000001710e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/4",
|
||||
"run_name": "idk/4",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 100,
|
||||
"real_time": 2.8666623858734965e+01,
|
||||
"cpu_time": 3.4960458999997002e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/6",
|
||||
"run_name": "idk/6",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 1379,
|
||||
"real_time": 2.3543635421406215e+01,
|
||||
"cpu_time": 5.5841710804931322e-01,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/9",
|
||||
"run_name": "idk/9",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 734,
|
||||
"real_time": 1.9770340910257534e+01,
|
||||
"cpu_time": 1.0098632833787524e+00,
|
||||
"time_unit": "ms"
|
||||
},
|
||||
{
|
||||
"name": "idk/12",
|
||||
"run_name": "idk/12",
|
||||
"run_type": "iteration",
|
||||
"repetitions": 0,
|
||||
"repetition_index": 0,
|
||||
"threads": 1,
|
||||
"iterations": 419,
|
||||
"real_time": 1.9854501259862168e+01,
|
||||
"cpu_time": 1.6557223937947447e+00,
|
||||
"time_unit": "ms"
|
||||
}
|
||||
]
|
||||
}
|
||||
1
lab05/svals/stats12_0.csv
Normal file
1
lab05/svals/stats12_0.csv
Normal file
@@ -0,0 +1 @@
|
||||
1231,1236,1130,1131,910,1158,730,99,102,312,394,567,
|
||||
|
1
lab05/svals/stats12_1.csv
Normal file
1
lab05/svals/stats12_1.csv
Normal file
@@ -0,0 +1 @@
|
||||
1208,963,1189,1188,940,937,245,247,0,954,895,234,
|
||||
|
1
lab05/svals/stats12_10.csv
Normal file
1
lab05/svals/stats12_10.csv
Normal file
@@ -0,0 +1 @@
|
||||
1054,1053,1049,1048,1044,904,138,569,349,0,965,827,
|
||||
|
1
lab05/svals/stats12_100.csv
Normal file
1
lab05/svals/stats12_100.csv
Normal file
@@ -0,0 +1 @@
|
||||
1086,1092,1091,1089,1088,904,179,390,168,0,1009,904,
|
||||
|
1
lab05/svals/stats12_101.csv
Normal file
1
lab05/svals/stats12_101.csv
Normal file
@@ -0,0 +1 @@
|
||||
1020,1019,1019,1021,1013,1010,864,514,280,764,281,195,
|
||||
|
1
lab05/svals/stats12_102.csv
Normal file
1
lab05/svals/stats12_102.csv
Normal file
@@ -0,0 +1 @@
|
||||
1162,1162,1024,1162,1153,1153,594,861,595,0,134,0,
|
||||
|
1
lab05/svals/stats12_103.csv
Normal file
1
lab05/svals/stats12_103.csv
Normal file
@@ -0,0 +1 @@
|
||||
1074,1079,1075,1073,1068,979,87,529,296,0,955,785,
|
||||
|
1
lab05/svals/stats12_104.csv
Normal file
1
lab05/svals/stats12_104.csv
Normal file
@@ -0,0 +1 @@
|
||||
815,1198,812,811,1194,886,908,591,387,385,626,387,
|
||||
|
1
lab05/svals/stats12_105.csv
Normal file
1
lab05/svals/stats12_105.csv
Normal file
@@ -0,0 +1 @@
|
||||
983,1127,1130,982,974,608,862,1015,864,152,151,152,
|
||||
|
1
lab05/svals/stats12_106.csv
Normal file
1
lab05/svals/stats12_106.csv
Normal file
@@ -0,0 +1 @@
|
||||
1082,1076,1081,953,950,564,814,1010,810,128,126,406,
|
||||
|
1
lab05/svals/stats12_107.csv
Normal file
1
lab05/svals/stats12_107.csv
Normal file
@@ -0,0 +1 @@
|
||||
1062,1060,1057,1056,961,276,742,937,743,274,90,742,
|
||||
|
1
lab05/svals/stats12_108.csv
Normal file
1
lab05/svals/stats12_108.csv
Normal file
@@ -0,0 +1 @@
|
||||
1156,812,910,1154,807,1116,333,585,1092,344,345,346,
|
||||
|
1
lab05/svals/stats12_109.csv
Normal file
1
lab05/svals/stats12_109.csv
Normal file
@@ -0,0 +1 @@
|
||||
1162,801,906,801,1148,1125,342,592,1053,356,357,357,
|
||||
|
1
lab05/svals/stats12_11.csv
Normal file
1
lab05/svals/stats12_11.csv
Normal file
@@ -0,0 +1 @@
|
||||
1204,1199,1198,1200,1198,995,198,427,0,0,954,427,
|
||||
|
1
lab05/svals/stats12_110.csv
Normal file
1
lab05/svals/stats12_110.csv
Normal file
@@ -0,0 +1 @@
|
||||
1056,1057,1227,1228,1048,398,913,1158,171,397,174,173,
|
||||
|
1
lab05/svals/stats12_111.csv
Normal file
1
lab05/svals/stats12_111.csv
Normal file
@@ -0,0 +1 @@
|
||||
1009,1006,1007,879,991,996,781,804,779,310,309,129,
|
||||
|
1
lab05/svals/stats12_112.csv
Normal file
1
lab05/svals/stats12_112.csv
Normal file
@@ -0,0 +1 @@
|
||||
955,1061,1061,1064,1058,785,782,996,114,532,297,295,
|
||||
|
1
lab05/svals/stats12_113.csv
Normal file
1
lab05/svals/stats12_113.csv
Normal file
@@ -0,0 +1 @@
|
||||
1078,1283,1076,1280,1066,980,1005,156,210,449,208,209,
|
||||
|
1
lab05/svals/stats12_114.csv
Normal file
1
lab05/svals/stats12_114.csv
Normal file
@@ -0,0 +1 @@
|
||||
1069,1062,897,897,1055,853,855,998,611,167,167,369,
|
||||
|
1
lab05/svals/stats12_115.csv
Normal file
1
lab05/svals/stats12_115.csv
Normal file
@@ -0,0 +1 @@
|
||||
1055,1051,1052,1050,1048,898,145,584,351,0,928,838,
|
||||
|
1
lab05/svals/stats12_116.csv
Normal file
1
lab05/svals/stats12_116.csv
Normal file
@@ -0,0 +1 @@
|
||||
1012,1012,1009,1007,1006,913,90,913,745,745,275,273,
|
||||
|
1
lab05/svals/stats12_117.csv
Normal file
1
lab05/svals/stats12_117.csv
Normal file
@@ -0,0 +1 @@
|
||||
1230,1091,1230,1231,1227,1088,130,139,140,381,0,1113,
|
||||
|
1
lab05/svals/stats12_118.csv
Normal file
1
lab05/svals/stats12_118.csv
Normal file
@@ -0,0 +1 @@
|
||||
982,981,976,976,969,970,677,879,679,0,454,457,
|
||||
|
1
lab05/svals/stats12_119.csv
Normal file
1
lab05/svals/stats12_119.csv
Normal file
@@ -0,0 +1 @@
|
||||
978,979,975,974,978,766,618,876,205,847,620,184,
|
||||
|
1
lab05/svals/stats12_12.csv
Normal file
1
lab05/svals/stats12_12.csv
Normal file
@@ -0,0 +1 @@
|
||||
972,972,960,968,966,961,779,641,133,545,772,331,
|
||||
|
1
lab05/svals/stats12_120.csv
Normal file
1
lab05/svals/stats12_120.csv
Normal file
@@ -0,0 +1 @@
|
||||
969,967,804,969,965,791,791,897,791,338,160,558,
|
||||
|
1
lab05/svals/stats12_121.csv
Normal file
1
lab05/svals/stats12_121.csv
Normal file
@@ -0,0 +1 @@
|
||||
892,1041,1043,885,1040,835,835,925,157,828,363,156,
|
||||
|
1
lab05/svals/stats12_122.csv
Normal file
1
lab05/svals/stats12_122.csv
Normal file
@@ -0,0 +1 @@
|
||||
1009,1007,1001,1000,995,987,856,468,252,707,250,468,
|
||||
|
1
lab05/svals/stats12_123.csv
Normal file
1
lab05/svals/stats12_123.csv
Normal file
@@ -0,0 +1 @@
|
||||
1013,1082,1084,1012,1076,1072,513,280,70,964,764,70,
|
||||
|
1
lab05/svals/stats12_124.csv
Normal file
1
lab05/svals/stats12_124.csv
Normal file
@@ -0,0 +1 @@
|
||||
715,717,714,713,705,657,801,801,798,796,793,790,
|
||||
|
1
lab05/svals/stats12_125.csv
Normal file
1
lab05/svals/stats12_125.csv
Normal file
@@ -0,0 +1 @@
|
||||
1020,1023,874,1023,1015,864,151,898,575,830,576,151,
|
||||
|
1
lab05/svals/stats12_126.csv
Normal file
1
lab05/svals/stats12_126.csv
Normal file
@@ -0,0 +1 @@
|
||||
1001,1002,1001,998,994,996,494,495,84,284,898,753,
|
||||
|
1
lab05/svals/stats12_127.csv
Normal file
1
lab05/svals/stats12_127.csv
Normal file
@@ -0,0 +1 @@
|
||||
1097,1094,1091,1090,1085,998,85,968,798,73,547,74,
|
||||
|
1
lab05/svals/stats12_128.csv
Normal file
1
lab05/svals/stats12_128.csv
Normal file
@@ -0,0 +1 @@
|
||||
972,971,973,969,932,965,32,634,633,415,870,634,
|
||||
|
1
lab05/svals/stats12_129.csv
Normal file
1
lab05/svals/stats12_129.csv
Normal file
@@ -0,0 +1 @@
|
||||
922,918,921,916,913,746,746,747,322,520,520,809,
|
||||
|
1
lab05/svals/stats12_13.csv
Normal file
1
lab05/svals/stats12_13.csv
Normal file
@@ -0,0 +1 @@
|
||||
1052,1052,1044,1049,900,1036,856,140,126,826,575,344,
|
||||
|
1
lab05/svals/stats12_130.csv
Normal file
1
lab05/svals/stats12_130.csv
Normal file
@@ -0,0 +1 @@
|
||||
973,976,968,971,966,964,506,843,288,538,503,504,
|
||||
|
1
lab05/svals/stats12_131.csv
Normal file
1
lab05/svals/stats12_131.csv
Normal file
@@ -0,0 +1 @@
|
||||
1057,1057,1055,1056,1049,950,101,543,307,89,937,799,
|
||||
|
1
lab05/svals/stats12_132.csv
Normal file
1
lab05/svals/stats12_132.csv
Normal file
@@ -0,0 +1 @@
|
||||
1074,1075,992,1068,1070,986,522,79,81,289,989,775,
|
||||
|
1
lab05/svals/stats12_133.csv
Normal file
1
lab05/svals/stats12_133.csv
Normal file
@@ -0,0 +1 @@
|
||||
1081,1178,1174,1176,1074,1070,323,97,575,98,96,1058,
|
||||
|
1
lab05/svals/stats12_134.csv
Normal file
1
lab05/svals/stats12_134.csv
Normal file
@@ -0,0 +1 @@
|
||||
1029,517,788,1017,1018,979,717,713,957,501,280,484,
|
||||
|
1
lab05/svals/stats12_135.csv
Normal file
1
lab05/svals/stats12_135.csv
Normal file
@@ -0,0 +1 @@
|
||||
1071,1065,1064,832,781,993,476,728,961,276,476,277,
|
||||
|
1
lab05/svals/stats12_136.csv
Normal file
1
lab05/svals/stats12_136.csv
Normal file
@@ -0,0 +1 @@
|
||||
1151,1065,823,1068,1142,1073,307,809,1082,79,321,80,
|
||||
|
1
lab05/svals/stats12_137.csv
Normal file
1
lab05/svals/stats12_137.csv
Normal file
@@ -0,0 +1 @@
|
||||
1210,845,843,835,1202,1153,354,354,1096,370,367,371,
|
||||
|
1
lab05/svals/stats12_138.csv
Normal file
1
lab05/svals/stats12_138.csv
Normal file
@@ -0,0 +1 @@
|
||||
1132,1132,1005,1003,1130,565,828,1059,333,123,123,567,
|
||||
|
1
lab05/svals/stats12_139.csv
Normal file
1
lab05/svals/stats12_139.csv
Normal file
@@ -0,0 +1 @@
|
||||
1010,1007,1002,1003,999,228,660,881,661,661,229,659,
|
||||
|
1
lab05/svals/stats12_14.csv
Normal file
1
lab05/svals/stats12_14.csv
Normal file
@@ -0,0 +1 @@
|
||||
969,968,965,963,965,960,823,428,426,680,428,425,
|
||||
|
1
lab05/svals/stats12_140.csv
Normal file
1
lab05/svals/stats12_140.csv
Normal file
@@ -0,0 +1 @@
|
||||
1053,1049,1049,998,1047,1037,457,53,712,455,239,851,
|
||||
|
1
lab05/svals/stats12_141.csv
Normal file
1
lab05/svals/stats12_141.csv
Normal file
@@ -0,0 +1 @@
|
||||
1028,1038,1037,1021,1028,1030,954,919,696,224,13,12,
|
||||
|
1
lab05/svals/stats12_142.csv
Normal file
1
lab05/svals/stats12_142.csv
Normal file
@@ -0,0 +1 @@
|
||||
956,789,956,950,948,944,344,797,800,564,788,164,
|
||||
|
1
lab05/svals/stats12_143.csv
Normal file
1
lab05/svals/stats12_143.csv
Normal file
@@ -0,0 +1 @@
|
||||
968,971,969,967,959,956,477,794,712,259,709,259,
|
||||
|
1
lab05/svals/stats12_144.csv
Normal file
1
lab05/svals/stats12_144.csv
Normal file
@@ -0,0 +1 @@
|
||||
1017,1130,1126,1009,1121,328,828,1056,327,117,118,823,
|
||||
|
1
lab05/svals/stats12_145.csv
Normal file
1
lab05/svals/stats12_145.csv
Normal file
@@ -0,0 +1 @@
|
||||
1030,1025,1022,1017,1018,689,750,607,235,686,234,687,
|
||||
|
1
lab05/svals/stats12_146.csv
Normal file
1
lab05/svals/stats12_146.csv
Normal file
@@ -0,0 +1 @@
|
||||
1026,1022,790,1021,746,977,715,714,965,476,274,274,
|
||||
|
1
lab05/svals/stats12_147.csv
Normal file
1
lab05/svals/stats12_147.csv
Normal file
@@ -0,0 +1 @@
|
||||
846,1189,846,1186,841,328,833,1070,344,343,341,833,
|
||||
|
1
lab05/svals/stats12_148.csv
Normal file
1
lab05/svals/stats12_148.csv
Normal file
@@ -0,0 +1 @@
|
||||
1101,1096,788,864,1095,1055,291,526,1040,526,311,307,
|
||||
|
1
lab05/svals/stats12_149.csv
Normal file
1
lab05/svals/stats12_149.csv
Normal file
@@ -0,0 +1 @@
|
||||
1105,1009,771,846,1102,1065,549,801,996,332,330,94,
|
||||
|
1
lab05/svals/stats12_15.csv
Normal file
1
lab05/svals/stats12_15.csv
Normal file
@@ -0,0 +1 @@
|
||||
1086,977,1084,1083,1081,973,109,807,323,808,559,110,
|
||||
|
1
lab05/svals/stats12_150.csv
Normal file
1
lab05/svals/stats12_150.csv
Normal file
@@ -0,0 +1 @@
|
||||
776,774,775,772,868,868,824,819,818,545,633,528,
|
||||
|
1
lab05/svals/stats12_151.csv
Normal file
1
lab05/svals/stats12_151.csv
Normal file
@@ -0,0 +1 @@
|
||||
1054,1050,1048,1053,838,406,904,909,208,407,189,934,
|
||||
|
1
lab05/svals/stats12_152.csv
Normal file
1
lab05/svals/stats12_152.csv
Normal file
@@ -0,0 +1 @@
|
||||
914,559,898,664,528,1175,1177,856,248,458,1170,353,
|
||||
|
1
lab05/svals/stats12_153.csv
Normal file
1
lab05/svals/stats12_153.csv
Normal file
@@ -0,0 +1 @@
|
||||
1319,1309,848,851,843,1242,0,461,741,463,459,464,
|
||||
|
1
lab05/svals/stats12_154.csv
Normal file
1
lab05/svals/stats12_154.csv
Normal file
@@ -0,0 +1 @@
|
||||
1089,953,1083,1081,1078,1079,578,1001,579,0,136,343,
|
||||
|
1
lab05/svals/stats12_155.csv
Normal file
1
lab05/svals/stats12_155.csv
Normal file
@@ -0,0 +1 @@
|
||||
1009,1001,997,999,998,993,834,422,226,423,676,422,
|
||||
|
1
lab05/svals/stats12_156.csv
Normal file
1
lab05/svals/stats12_156.csv
Normal file
@@ -0,0 +1 @@
|
||||
1083,1081,1076,1169,1172,1163,319,92,570,91,92,1092,
|
||||
|
1
lab05/svals/stats12_157.csv
Normal file
1
lab05/svals/stats12_157.csv
Normal file
@@ -0,0 +1 @@
|
||||
1059,1057,1053,1058,768,1007,262,744,955,286,489,262,
|
||||
|
1
lab05/svals/stats12_158.csv
Normal file
1
lab05/svals/stats12_158.csv
Normal file
@@ -0,0 +1 @@
|
||||
1171,1167,820,816,813,1119,338,588,1109,354,352,353,
|
||||
|
1
lab05/svals/stats12_159.csv
Normal file
1
lab05/svals/stats12_159.csv
Normal file
@@ -0,0 +1 @@
|
||||
1063,1063,1061,1063,966,743,779,654,93,744,496,275,
|
||||
|
1
lab05/svals/stats12_16.csv
Normal file
1
lab05/svals/stats12_16.csv
Normal file
@@ -0,0 +1 @@
|
||||
998,1002,998,997,989,990,653,651,224,422,653,423,
|
||||
|
1
lab05/svals/stats12_160.csv
Normal file
1
lab05/svals/stats12_160.csv
Normal file
@@ -0,0 +1 @@
|
||||
992,988,981,983,980,417,635,908,220,632,633,631,
|
||||
|
1
lab05/svals/stats12_161.csv
Normal file
1
lab05/svals/stats12_161.csv
Normal file
@@ -0,0 +1 @@
|
||||
1173,1174,922,835,830,1096,325,571,1063,335,337,339,
|
||||
|
1
lab05/svals/stats12_162.csv
Normal file
1
lab05/svals/stats12_162.csv
Normal file
@@ -0,0 +1 @@
|
||||
793,1155,790,1150,1142,1135,363,1221,889,0,0,362,
|
||||
|
1
lab05/svals/stats12_163.csv
Normal file
1
lab05/svals/stats12_163.csv
Normal file
@@ -0,0 +1 @@
|
||||
922,919,918,919,1209,786,1051,1095,295,297,295,294,
|
||||
|
1
lab05/svals/stats12_164.csv
Normal file
1
lab05/svals/stats12_164.csv
Normal file
@@ -0,0 +1 @@
|
||||
846,848,617,843,836,613,227,1115,1148,1109,573,225,
|
||||
|
1
lab05/svals/stats12_165.csv
Normal file
1
lab05/svals/stats12_165.csv
Normal file
@@ -0,0 +1 @@
|
||||
771,1298,871,871,866,409,939,1178,425,422,526,424,
|
||||
|
1
lab05/svals/stats12_166.csv
Normal file
1
lab05/svals/stats12_166.csv
Normal file
@@ -0,0 +1 @@
|
||||
1190,1012,1179,1179,1174,1002,171,1098,665,159,171,0,
|
||||
|
1
lab05/svals/stats12_167.csv
Normal file
1
lab05/svals/stats12_167.csv
Normal file
@@ -0,0 +1 @@
|
||||
990,984,987,988,981,979,441,696,444,622,445,443,
|
||||
|
1
lab05/svals/stats12_168.csv
Normal file
1
lab05/svals/stats12_168.csv
Normal file
@@ -0,0 +1 @@
|
||||
763,1074,1080,1077,756,305,767,1002,766,769,320,321,
|
||||
|
1
lab05/svals/stats12_169.csv
Normal file
1
lab05/svals/stats12_169.csv
Normal file
@@ -0,0 +1 @@
|
||||
1178,1030,1176,1029,1024,862,891,768,605,145,146,146,
|
||||
|
1
lab05/svals/stats12_17.csv
Normal file
1
lab05/svals/stats12_17.csv
Normal file
@@ -0,0 +1 @@
|
||||
1251,1246,816,816,814,1215,418,426,712,430,428,428,
|
||||
|
1
lab05/svals/stats12_170.csv
Normal file
1
lab05/svals/stats12_170.csv
Normal file
@@ -0,0 +1 @@
|
||||
969,967,966,965,963,957,872,693,697,695,256,0,
|
||||
|
1
lab05/svals/stats12_171.csv
Normal file
1
lab05/svals/stats12_171.csv
Normal file
@@ -0,0 +1 @@
|
||||
729,728,724,722,722,638,822,814,811,765,764,761,
|
||||
|
1
lab05/svals/stats12_172.csv
Normal file
1
lab05/svals/stats12_172.csv
Normal file
@@ -0,0 +1 @@
|
||||
1080,1079,650,1075,869,407,906,1002,909,396,425,202,
|
||||
|
1
lab05/svals/stats12_173.csv
Normal file
1
lab05/svals/stats12_173.csv
Normal file
@@ -0,0 +1 @@
|
||||
1202,1197,1195,1198,919,1176,10,268,0,0,1074,761,
|
||||
|
1
lab05/svals/stats12_174.csv
Normal file
1
lab05/svals/stats12_174.csv
Normal file
@@ -0,0 +1 @@
|
||||
980,973,974,974,782,830,834,908,187,829,365,364,
|
||||
|
1
lab05/svals/stats12_175.csv
Normal file
1
lab05/svals/stats12_175.csv
Normal file
@@ -0,0 +1 @@
|
||||
911,1169,907,1160,903,1153,1043,254,0,998,249,253,
|
||||
|
1
lab05/svals/stats12_176.csv
Normal file
1
lab05/svals/stats12_176.csv
Normal file
@@ -0,0 +1 @@
|
||||
970,971,970,965,964,965,510,826,762,512,293,292,
|
||||
|
1
lab05/svals/stats12_177.csv
Normal file
1
lab05/svals/stats12_177.csv
Normal file
@@ -0,0 +1 @@
|
||||
1230,1232,1227,1018,1223,1220,935,0,0,704,211,0,
|
||||
|
1
lab05/svals/stats12_178.csv
Normal file
1
lab05/svals/stats12_178.csv
Normal file
@@ -0,0 +1 @@
|
||||
890,601,1075,886,1071,874,875,1006,872,189,188,473,
|
||||
|
1
lab05/svals/stats12_179.csv
Normal file
1
lab05/svals/stats12_179.csv
Normal file
@@ -0,0 +1 @@
|
||||
1055,1050,1049,906,1048,1044,928,585,352,841,0,142,
|
||||
|
1
lab05/svals/stats12_18.csv
Normal file
1
lab05/svals/stats12_18.csv
Normal file
@@ -0,0 +1 @@
|
||||
697,1131,932,1131,932,428,928,1067,197,925,197,435,
|
||||
|
1
lab05/svals/stats12_180.csv
Normal file
1
lab05/svals/stats12_180.csv
Normal file
@@ -0,0 +1 @@
|
||||
951,949,951,949,943,938,640,748,641,229,640,421,
|
||||
|
1
lab05/svals/stats12_181.csv
Normal file
1
lab05/svals/stats12_181.csv
Normal file
@@ -0,0 +1 @@
|
||||
835,833,1177,828,1168,1114,337,586,1073,349,351,349,
|
||||
|
1
lab05/svals/stats12_182.csv
Normal file
1
lab05/svals/stats12_182.csv
Normal file
@@ -0,0 +1 @@
|
||||
1025,962,963,1023,1022,1017,65,65,726,928,726,478,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user