finished lab 5

This commit is contained in:
WickedJack99
2025-04-19 14:54:54 +02:00
parent b88f7658f8
commit c1e0dae037
2939 changed files with 3426 additions and 1 deletions

View File

@@ -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

Binary file not shown.

View 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
View 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
View 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
View 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"
}
]
}

View File

@@ -0,0 +1 @@
1231,1236,1130,1131,910,1158,730,99,102,312,394,567,
1 1231 1236 1130 1131 910 1158 730 99 102 312 394 567

View File

@@ -0,0 +1 @@
1208,963,1189,1188,940,937,245,247,0,954,895,234,
1 1208 963 1189 1188 940 937 245 247 0 954 895 234

View File

@@ -0,0 +1 @@
1054,1053,1049,1048,1044,904,138,569,349,0,965,827,
1 1054 1053 1049 1048 1044 904 138 569 349 0 965 827

View File

@@ -0,0 +1 @@
1086,1092,1091,1089,1088,904,179,390,168,0,1009,904,
1 1086 1092 1091 1089 1088 904 179 390 168 0 1009 904

View File

@@ -0,0 +1 @@
1020,1019,1019,1021,1013,1010,864,514,280,764,281,195,
1 1020 1019 1019 1021 1013 1010 864 514 280 764 281 195

View File

@@ -0,0 +1 @@
1162,1162,1024,1162,1153,1153,594,861,595,0,134,0,
1 1162 1162 1024 1162 1153 1153 594 861 595 0 134 0

View File

@@ -0,0 +1 @@
1074,1079,1075,1073,1068,979,87,529,296,0,955,785,
1 1074 1079 1075 1073 1068 979 87 529 296 0 955 785

View File

@@ -0,0 +1 @@
815,1198,812,811,1194,886,908,591,387,385,626,387,
1 815 1198 812 811 1194 886 908 591 387 385 626 387

View File

@@ -0,0 +1 @@
983,1127,1130,982,974,608,862,1015,864,152,151,152,
1 983 1127 1130 982 974 608 862 1015 864 152 151 152

View File

@@ -0,0 +1 @@
1082,1076,1081,953,950,564,814,1010,810,128,126,406,
1 1082 1076 1081 953 950 564 814 1010 810 128 126 406

View File

@@ -0,0 +1 @@
1062,1060,1057,1056,961,276,742,937,743,274,90,742,
1 1062 1060 1057 1056 961 276 742 937 743 274 90 742

View File

@@ -0,0 +1 @@
1156,812,910,1154,807,1116,333,585,1092,344,345,346,
1 1156 812 910 1154 807 1116 333 585 1092 344 345 346

View File

@@ -0,0 +1 @@
1162,801,906,801,1148,1125,342,592,1053,356,357,357,
1 1162 801 906 801 1148 1125 342 592 1053 356 357 357

View File

@@ -0,0 +1 @@
1204,1199,1198,1200,1198,995,198,427,0,0,954,427,
1 1204 1199 1198 1200 1198 995 198 427 0 0 954 427

View File

@@ -0,0 +1 @@
1056,1057,1227,1228,1048,398,913,1158,171,397,174,173,
1 1056 1057 1227 1228 1048 398 913 1158 171 397 174 173

View File

@@ -0,0 +1 @@
1009,1006,1007,879,991,996,781,804,779,310,309,129,
1 1009 1006 1007 879 991 996 781 804 779 310 309 129

View File

@@ -0,0 +1 @@
955,1061,1061,1064,1058,785,782,996,114,532,297,295,
1 955 1061 1061 1064 1058 785 782 996 114 532 297 295

View File

@@ -0,0 +1 @@
1078,1283,1076,1280,1066,980,1005,156,210,449,208,209,
1 1078 1283 1076 1280 1066 980 1005 156 210 449 208 209

View File

@@ -0,0 +1 @@
1069,1062,897,897,1055,853,855,998,611,167,167,369,
1 1069 1062 897 897 1055 853 855 998 611 167 167 369

View File

@@ -0,0 +1 @@
1055,1051,1052,1050,1048,898,145,584,351,0,928,838,
1 1055 1051 1052 1050 1048 898 145 584 351 0 928 838

View File

@@ -0,0 +1 @@
1012,1012,1009,1007,1006,913,90,913,745,745,275,273,
1 1012 1012 1009 1007 1006 913 90 913 745 745 275 273

View File

@@ -0,0 +1 @@
1230,1091,1230,1231,1227,1088,130,139,140,381,0,1113,
1 1230 1091 1230 1231 1227 1088 130 139 140 381 0 1113

View File

@@ -0,0 +1 @@
982,981,976,976,969,970,677,879,679,0,454,457,
1 982 981 976 976 969 970 677 879 679 0 454 457

View File

@@ -0,0 +1 @@
978,979,975,974,978,766,618,876,205,847,620,184,
1 978 979 975 974 978 766 618 876 205 847 620 184

View File

@@ -0,0 +1 @@
972,972,960,968,966,961,779,641,133,545,772,331,
1 972 972 960 968 966 961 779 641 133 545 772 331

View File

@@ -0,0 +1 @@
969,967,804,969,965,791,791,897,791,338,160,558,
1 969 967 804 969 965 791 791 897 791 338 160 558

View File

@@ -0,0 +1 @@
892,1041,1043,885,1040,835,835,925,157,828,363,156,
1 892 1041 1043 885 1040 835 835 925 157 828 363 156

View File

@@ -0,0 +1 @@
1009,1007,1001,1000,995,987,856,468,252,707,250,468,
1 1009 1007 1001 1000 995 987 856 468 252 707 250 468

View File

@@ -0,0 +1 @@
1013,1082,1084,1012,1076,1072,513,280,70,964,764,70,
1 1013 1082 1084 1012 1076 1072 513 280 70 964 764 70

View File

@@ -0,0 +1 @@
715,717,714,713,705,657,801,801,798,796,793,790,
1 715 717 714 713 705 657 801 801 798 796 793 790

View File

@@ -0,0 +1 @@
1020,1023,874,1023,1015,864,151,898,575,830,576,151,
1 1020 1023 874 1023 1015 864 151 898 575 830 576 151

View File

@@ -0,0 +1 @@
1001,1002,1001,998,994,996,494,495,84,284,898,753,
1 1001 1002 1001 998 994 996 494 495 84 284 898 753

View File

@@ -0,0 +1 @@
1097,1094,1091,1090,1085,998,85,968,798,73,547,74,
1 1097 1094 1091 1090 1085 998 85 968 798 73 547 74

View File

@@ -0,0 +1 @@
972,971,973,969,932,965,32,634,633,415,870,634,
1 972 971 973 969 932 965 32 634 633 415 870 634

View File

@@ -0,0 +1 @@
922,918,921,916,913,746,746,747,322,520,520,809,
1 922 918 921 916 913 746 746 747 322 520 520 809

View File

@@ -0,0 +1 @@
1052,1052,1044,1049,900,1036,856,140,126,826,575,344,
1 1052 1052 1044 1049 900 1036 856 140 126 826 575 344

View File

@@ -0,0 +1 @@
973,976,968,971,966,964,506,843,288,538,503,504,
1 973 976 968 971 966 964 506 843 288 538 503 504

View File

@@ -0,0 +1 @@
1057,1057,1055,1056,1049,950,101,543,307,89,937,799,
1 1057 1057 1055 1056 1049 950 101 543 307 89 937 799

View File

@@ -0,0 +1 @@
1074,1075,992,1068,1070,986,522,79,81,289,989,775,
1 1074 1075 992 1068 1070 986 522 79 81 289 989 775

View File

@@ -0,0 +1 @@
1081,1178,1174,1176,1074,1070,323,97,575,98,96,1058,
1 1081 1178 1174 1176 1074 1070 323 97 575 98 96 1058

View File

@@ -0,0 +1 @@
1029,517,788,1017,1018,979,717,713,957,501,280,484,
1 1029 517 788 1017 1018 979 717 713 957 501 280 484

View File

@@ -0,0 +1 @@
1071,1065,1064,832,781,993,476,728,961,276,476,277,
1 1071 1065 1064 832 781 993 476 728 961 276 476 277

View File

@@ -0,0 +1 @@
1151,1065,823,1068,1142,1073,307,809,1082,79,321,80,
1 1151 1065 823 1068 1142 1073 307 809 1082 79 321 80

View File

@@ -0,0 +1 @@
1210,845,843,835,1202,1153,354,354,1096,370,367,371,
1 1210 845 843 835 1202 1153 354 354 1096 370 367 371

View File

@@ -0,0 +1 @@
1132,1132,1005,1003,1130,565,828,1059,333,123,123,567,
1 1132 1132 1005 1003 1130 565 828 1059 333 123 123 567

View File

@@ -0,0 +1 @@
1010,1007,1002,1003,999,228,660,881,661,661,229,659,
1 1010 1007 1002 1003 999 228 660 881 661 661 229 659

View File

@@ -0,0 +1 @@
969,968,965,963,965,960,823,428,426,680,428,425,
1 969 968 965 963 965 960 823 428 426 680 428 425

View File

@@ -0,0 +1 @@
1053,1049,1049,998,1047,1037,457,53,712,455,239,851,
1 1053 1049 1049 998 1047 1037 457 53 712 455 239 851

View File

@@ -0,0 +1 @@
1028,1038,1037,1021,1028,1030,954,919,696,224,13,12,
1 1028 1038 1037 1021 1028 1030 954 919 696 224 13 12

View File

@@ -0,0 +1 @@
956,789,956,950,948,944,344,797,800,564,788,164,
1 956 789 956 950 948 944 344 797 800 564 788 164

View File

@@ -0,0 +1 @@
968,971,969,967,959,956,477,794,712,259,709,259,
1 968 971 969 967 959 956 477 794 712 259 709 259

View File

@@ -0,0 +1 @@
1017,1130,1126,1009,1121,328,828,1056,327,117,118,823,
1 1017 1130 1126 1009 1121 328 828 1056 327 117 118 823

View File

@@ -0,0 +1 @@
1030,1025,1022,1017,1018,689,750,607,235,686,234,687,
1 1030 1025 1022 1017 1018 689 750 607 235 686 234 687

View File

@@ -0,0 +1 @@
1026,1022,790,1021,746,977,715,714,965,476,274,274,
1 1026 1022 790 1021 746 977 715 714 965 476 274 274

View File

@@ -0,0 +1 @@
846,1189,846,1186,841,328,833,1070,344,343,341,833,
1 846 1189 846 1186 841 328 833 1070 344 343 341 833

View File

@@ -0,0 +1 @@
1101,1096,788,864,1095,1055,291,526,1040,526,311,307,
1 1101 1096 788 864 1095 1055 291 526 1040 526 311 307

View File

@@ -0,0 +1 @@
1105,1009,771,846,1102,1065,549,801,996,332,330,94,
1 1105 1009 771 846 1102 1065 549 801 996 332 330 94

View File

@@ -0,0 +1 @@
1086,977,1084,1083,1081,973,109,807,323,808,559,110,
1 1086 977 1084 1083 1081 973 109 807 323 808 559 110

View File

@@ -0,0 +1 @@
776,774,775,772,868,868,824,819,818,545,633,528,
1 776 774 775 772 868 868 824 819 818 545 633 528

View File

@@ -0,0 +1 @@
1054,1050,1048,1053,838,406,904,909,208,407,189,934,
1 1054 1050 1048 1053 838 406 904 909 208 407 189 934

View File

@@ -0,0 +1 @@
914,559,898,664,528,1175,1177,856,248,458,1170,353,
1 914 559 898 664 528 1175 1177 856 248 458 1170 353

View File

@@ -0,0 +1 @@
1319,1309,848,851,843,1242,0,461,741,463,459,464,
1 1319 1309 848 851 843 1242 0 461 741 463 459 464

View File

@@ -0,0 +1 @@
1089,953,1083,1081,1078,1079,578,1001,579,0,136,343,
1 1089 953 1083 1081 1078 1079 578 1001 579 0 136 343

View File

@@ -0,0 +1 @@
1009,1001,997,999,998,993,834,422,226,423,676,422,
1 1009 1001 997 999 998 993 834 422 226 423 676 422

View File

@@ -0,0 +1 @@
1083,1081,1076,1169,1172,1163,319,92,570,91,92,1092,
1 1083 1081 1076 1169 1172 1163 319 92 570 91 92 1092

View File

@@ -0,0 +1 @@
1059,1057,1053,1058,768,1007,262,744,955,286,489,262,
1 1059 1057 1053 1058 768 1007 262 744 955 286 489 262

View File

@@ -0,0 +1 @@
1171,1167,820,816,813,1119,338,588,1109,354,352,353,
1 1171 1167 820 816 813 1119 338 588 1109 354 352 353

View File

@@ -0,0 +1 @@
1063,1063,1061,1063,966,743,779,654,93,744,496,275,
1 1063 1063 1061 1063 966 743 779 654 93 744 496 275

View File

@@ -0,0 +1 @@
998,1002,998,997,989,990,653,651,224,422,653,423,
1 998 1002 998 997 989 990 653 651 224 422 653 423

View File

@@ -0,0 +1 @@
992,988,981,983,980,417,635,908,220,632,633,631,
1 992 988 981 983 980 417 635 908 220 632 633 631

View File

@@ -0,0 +1 @@
1173,1174,922,835,830,1096,325,571,1063,335,337,339,
1 1173 1174 922 835 830 1096 325 571 1063 335 337 339

View File

@@ -0,0 +1 @@
793,1155,790,1150,1142,1135,363,1221,889,0,0,362,
1 793 1155 790 1150 1142 1135 363 1221 889 0 0 362

View File

@@ -0,0 +1 @@
922,919,918,919,1209,786,1051,1095,295,297,295,294,
1 922 919 918 919 1209 786 1051 1095 295 297 295 294

View File

@@ -0,0 +1 @@
846,848,617,843,836,613,227,1115,1148,1109,573,225,
1 846 848 617 843 836 613 227 1115 1148 1109 573 225

View File

@@ -0,0 +1 @@
771,1298,871,871,866,409,939,1178,425,422,526,424,
1 771 1298 871 871 866 409 939 1178 425 422 526 424

View File

@@ -0,0 +1 @@
1190,1012,1179,1179,1174,1002,171,1098,665,159,171,0,
1 1190 1012 1179 1179 1174 1002 171 1098 665 159 171 0

View File

@@ -0,0 +1 @@
990,984,987,988,981,979,441,696,444,622,445,443,
1 990 984 987 988 981 979 441 696 444 622 445 443

View File

@@ -0,0 +1 @@
763,1074,1080,1077,756,305,767,1002,766,769,320,321,
1 763 1074 1080 1077 756 305 767 1002 766 769 320 321

View File

@@ -0,0 +1 @@
1178,1030,1176,1029,1024,862,891,768,605,145,146,146,
1 1178 1030 1176 1029 1024 862 891 768 605 145 146 146

View File

@@ -0,0 +1 @@
1251,1246,816,816,814,1215,418,426,712,430,428,428,
1 1251 1246 816 816 814 1215 418 426 712 430 428 428

View File

@@ -0,0 +1 @@
969,967,966,965,963,957,872,693,697,695,256,0,
1 969 967 966 965 963 957 872 693 697 695 256 0

View File

@@ -0,0 +1 @@
729,728,724,722,722,638,822,814,811,765,764,761,
1 729 728 724 722 722 638 822 814 811 765 764 761

View File

@@ -0,0 +1 @@
1080,1079,650,1075,869,407,906,1002,909,396,425,202,
1 1080 1079 650 1075 869 407 906 1002 909 396 425 202

View File

@@ -0,0 +1 @@
1202,1197,1195,1198,919,1176,10,268,0,0,1074,761,
1 1202 1197 1195 1198 919 1176 10 268 0 0 1074 761

View File

@@ -0,0 +1 @@
980,973,974,974,782,830,834,908,187,829,365,364,
1 980 973 974 974 782 830 834 908 187 829 365 364

View File

@@ -0,0 +1 @@
911,1169,907,1160,903,1153,1043,254,0,998,249,253,
1 911 1169 907 1160 903 1153 1043 254 0 998 249 253

View File

@@ -0,0 +1 @@
970,971,970,965,964,965,510,826,762,512,293,292,
1 970 971 970 965 964 965 510 826 762 512 293 292

View File

@@ -0,0 +1 @@
1230,1232,1227,1018,1223,1220,935,0,0,704,211,0,
1 1230 1232 1227 1018 1223 1220 935 0 0 704 211 0

View File

@@ -0,0 +1 @@
890,601,1075,886,1071,874,875,1006,872,189,188,473,
1 890 601 1075 886 1071 874 875 1006 872 189 188 473

View File

@@ -0,0 +1 @@
1055,1050,1049,906,1048,1044,928,585,352,841,0,142,
1 1055 1050 1049 906 1048 1044 928 585 352 841 0 142

View File

@@ -0,0 +1 @@
697,1131,932,1131,932,428,928,1067,197,925,197,435,
1 697 1131 932 1131 932 428 928 1067 197 925 197 435

View File

@@ -0,0 +1 @@
951,949,951,949,943,938,640,748,641,229,640,421,
1 951 949 951 949 943 938 640 748 641 229 640 421

View File

@@ -0,0 +1 @@
835,833,1177,828,1168,1114,337,586,1073,349,351,349,
1 835 833 1177 828 1168 1114 337 586 1073 349 351 349

View File

@@ -0,0 +1 @@
1025,962,963,1023,1022,1017,65,65,726,928,726,478,
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