Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 17 additions & 0 deletions tasks/konstantinov_s_radix/common/include/common.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#pragma once

#include <string>
// #include <tuple>
#include <cstdint>
#include <vector>

#include "task/include/task.hpp"

namespace konstantinov_s_radix {

using InType = std::vector<int32_t>;
using OutType = std::vector<int32_t>;
using TestType = std::string;
using BaseTask = ppc::task::Task<InType, OutType>;

} // namespace konstantinov_s_radix
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/big_0_n100.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
100
-11764 -73207 -75688 -405 -74647 -5896 -9835 58263 -30658 -88610 91294 20435 40568 -67278 -770 -79344 44714 -23146 64794 62141 -5200 51349 -49593 84699 -81767 -87988 73346 -40258 -24139 -79084 -38976 -73524 -353 -27131 18858 66640 -4362 -57362 -2960 -6868 -45079 75682 -30014 83977 79187 69878 -81283 59680 66455 -55138 40021 91136 -35825 -57166 21178 -529 -29235 67772 80397 46001 -42430 79467 -14992 -85337 -39957 -91586 -17306 5162 -29814 -82650 -44693 48682 88196 -17510 -44262 71819 30870 3712 68519 20285 -62548 -30564 -63397 -35349 95294 47159 41289 -31124 95825 53245 12311 52969 4700 -5105 -42507 -63738 33569 29372 -76169 98123
-91586 -88610 -87988 -85337 -82650 -81767 -81283 -79344 -79084 -76169 -75688 -74647 -73524 -73207 -67278 -63738 -63397 -62548 -57362 -57166 -55138 -49593 -45079 -44693 -44262 -42507 -42430 -40258 -39957 -38976 -35825 -35349 -31124 -30658 -30564 -30014 -29814 -29235 -27131 -24139 -23146 -17510 -17306 -14992 -11764 -9835 -6868 -5896 -5200 -5105 -4362 -2960 -770 -529 -405 -353 3712 4700 5162 12311 18858 20285 20435 21178 29372 30870 33569 40021 40568 41289 44714 46001 47159 48682 51349 52969 53245 58263 59680 62141 64794 66455 66640 67772 68519 69878 71819 73346 75682 79187 79467 80397 83977 84699 88196 91136 91294 95294 95825 98123
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/big_1_n1000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1000
-87649 -71257 -59934 64481 -58062 78384 10666 56345 -83347 864 39 56208 22696 38704 -34094 45024 -96991 78332 88932 -69971 78706 40763 96838 -30054 68024 -10826 -70758 -23061 13971 -58540 18940 -99150 89292 88659 -30955 31225 99743 -53168 33085 -72106 63918 -21765 67496 33080 59637 -47857 -59935 -1981 99887 -57651 41394 39029 -99851 57009 -15025 28085 -94895 -70675 -4847 -19388 -37230 -84816 -36857 48729 -79355 -77547 91865 27399 -81857 99387 39645 -67033 -66343 72949 24592 44127 -56713 -30517 38326 59014 10923 -44479 41373 97988 91347 80844 -47270 86895 -18286 4593 76078 70361 -2111 14845 35679 18354 -68280 -35014 -41097 -83216 -11373 -94486 54221 45207 -39677 54256 -42272 -98115 -81390 85556 65439 -84567 -39985 -82332 -91766 -13381 -81426 34782 -37609 -26999 75368 27248 -43840 41356 -65316 89622 49695 51050 23907 -36300 23987 6708 -50086 -75274 -74591 72748 12997 -7124 11038 7767 22427 91122 -85800 76518 71299 69392 -74201 -84111 5544 90896 -11054 -71356 -34817 -49776 -50138 40584 17601 -63253 10593 -51900 -26982 21275 -34515 -80239 16164 44264 -74334 -86739 70955 41711 -96132 -75552 97542 -38035 -56403 6539 27307 26185 -43968 5130 -84630 -56842 -655 -99435 2346 -30479 19277 -25224 10888 82607 91497 45691 73505 88326 27577 -59421 -50220 -22220 -42932 -84669 51828 92869 42133 -84021 96077 -17791 -85015 -86856 53138 24987 31819 39231 -58730 -85090 33124 -79000 -51288 -82038 55984 -82185 77002 -38343 5847 -68573 49336 -35457 51760 55849 -89582 62367 -78509 9897 72326 53006 48170 37044 -17066 -31642 -46455 75564 87745 -17639 -37430 -30371 3752 -65692 76079 69214 -21358 19858 -17117 97096 -80984 -97559 20136 62833 47585 -73791 -80796 40937 -44123 32614 -30480 -65278 -8510 -81967 -35963 -3131 -25293 -58648 14867 42401 84428 -20697 60347 71435 38658 -97950 75076 45385 -21520 73903 -72846 -64797 -30672 -69742 -71942 94620 45024 -59251 -28606 -26140 58552 -44785 88117 -10116 -46629 80223 66261 -30799 32489 28065 -34171 -86684 -75805 66273 11037 -27470 -88443 -99071 -12561 -65707 67015 -31330 -57643 94309 15824 44619 84986 12115 47038 -97466 -70673 -80276 81146 -60927 43023 -90556 -3213 52701 44841 -61179 12666 -66591 -89035 -19192 -4409 -89542 -6203 -44930 78799 -34588 74832 -73054 -7286 46770 6529 62702 96471 -59485 -37941 -57402 -53587 8080 -93503 -52982 93085 -12920 7928 75612 92690 -34945 -30059 -58268 83835 -71664 281 -89849 23388 -41691 -47684 20665 -8340 -19997 -40338 -41562 -93797 73023 -49373 4455 -13949 -26966 -81802 -26830 -7950 68160 33537 4773 78131 40565 -13192 -92765 -69764 -31525 -53190 52198 -30410 -89972 -71583 56387 13918 -9381 90983 -17772 14398 58914 34066 -69685 976 51149 -50172 -33227 -88365 85803 14309 -99557 36293 41151 80055 88594 94497 93210 75801 -48349 -4522 13062 -81657 74125 -13441 63356 -17709 73903 -67331 88679 -21273 32939 -18923 74821 7057 -14494 5486 82769 -22496 45335 -66633 -49711 10217 74307 -610 77554 96118 -54380 61353 49187 -21108 6450 43638 -99894 -20342 -24788 -44902 12692 52039 59032 71627 -15525 21893 15811 15909 77111 -43980 34001 24042 92927 -55517 72713 -77772 -25608 35122 74025 65921 62335 -12133 -75520 96906 -38431 76369 -18626 -41112 -47800 -61373 -93598 -87886 -35816 24554 60241 -80909 19384 8643 65089 50908 -49030 88310 82545 657 29598 4766 -36041 -61316 71981 80256 -98547 96860 -72059 11449 -42633 -53893 82429 35779 21778 -86836 46120 -34675 -68187 19658 -65046 21803 75001 39233 46518 56094 -16823 97984 16017 60603 88553 32324 11867 43621 16893 -58278 94944 24433 17983 -32055 97073 -35188 67159 -27305 36655 27034 64298 -37284 -28016 15309 -79689 87051 -25099 -38529 -28772 -11960 -16191 41597 -78878 -63727 -60461 -39377 410 81914 -59944 85183 -43914 -83163 8755 6849 -13262 42242 22139 8992 -83678 -45780 10138 2099 53112 82327 -94880 50913 -286 25037 -98455 -7789 -21721 97518 2232 9843 41091 95956 92579 43165 58139 -42188 27986 -42480 -28452 14251 27308 -92392 1936 -11886 75341 78032 5989 89839 -56735 22523 -66544 63120 40017 -92931 3290 55161 47951 73801 -92896 -77994 68492 12358 -64428 21031 -52361 -86819 -31802 -621 -14187 -44515 19196 -14320 -11527 99551 -615 -27057 97134 10510 -33869 -78529 23288 -94919 96352 41405 -86347 -8260 -41222 70431 -82013 70853 -89447 97717 -91866 -35177 -47739 -94658 62879 -60054 -37467 -66912 24141 75494 -70014 47841 -42862 21905 83360 -32828 -3297 -56016 58831 59186 96064 88313 -69976 -57070 -18464 -71663 51698 -93269 -18223 50941 77562 -1616 3980 87436 -48010 -80078 55214 81040 64427 -36339 -73288 82764 -20942 79374 57394 -68267 48355 -89234 -8983 39655 12296 73413 -2858 -81924 32634 69749 -10549 -96684 10115 28503 -72334 13645 -5055 66614 20517 85416 -59895 14160 -53827 92360 36772 70513 -29200 61457 41078 26745 21863 14183 91634 55313 -29642 -15510 -35645 -77282 -26881 18175 -36073 96732 21820 49382 59994 75161 -651 -11816 -92477 29579 -14800 -52332 27808 -44395 -6985 -32275 -10783 -26690 56278 83811 -27578 45697 -97339 35430 -49916 -77558 -36730 88763 6542 28077 45536 98748 -37001 81039 24804 69319 86605 28665 17486 -95480 -75607 -22868 -41910 6011 81347 -36220 -19730 74053 52451 -3264 24062 45089 39177 -9887 11543 95542 44281 -13286 -7775 84249 18946 -28981 -19621 -34097 -39566 -68371 89080 -49516 -17281 -68660 94741 40473 99803 80922 -51465 -49789 -43277 93620 26929 -27518 89945 54556 99283 37530 56445 -25814 -73648 -49114 -22341 -40367 -5398 -52961 -20763 -96292 85602 40020 -66818 -28091 -88069 -85707 45059 -23419 82823 -66897 67213 97339 28680 -73108 -96785 50487 -25463 23049 25492 15466 -10686 -51671 -86532 -33815 25233 -70093 -82871 5043 28908 -80580 51262 65005 79949 -85947 -60226 -60889 47545 -20352 -77671 -34939 -68949 46295 9097 58942 56271 62114 -40838 36989 -287 18099 16056 -22051 54278 12415 -19947 49062 62798 -84211 59811 94009 -73987 99946 -45530 63975 -44682 -30625 73127 -78718 -58829 -37121 -54436 44701 -80323 -58966 -99299 7090 18096 80714 55664 23184 -23649 -91444 -39320 -24476 85324 -25888 84283 19021 -81341 80193 -38810 -30649 63855 54609 73325 -48143 11447 -69913 42753 -41068 69773 -60944 -30367 -62714 -81281 -84367 -56505 -19362 55987 96334 49214 -24343 15121 -67402 22866 80532 -20285 83430 5515 -28633 31195 41552 29445 14755 -78913 56771 -89551 13253 92553 -15506 58259 -34368 -93220 -76060 -39989 76763 50784 53910 -94562 76234 -29350 51059 -89454 98251 -54075 23338 36043 70789 15927 -27083 -52424 53440 14264 66405 28902 -76082 23210 -8785 7046 -12626 -15837 75671 -72580
-99894 -99851 -99557 -99435 -99299 -99150 -99071 -98547 -98455 -98115 -97950 -97559 -97466 -97339 -96991 -96785 -96684 -96292 -96132 -95480 -94919 -94895 -94880 -94658 -94562 -94486 -93797 -93598 -93503 -93269 -93220 -92931 -92896 -92765 -92477 -92392 -91866 -91766 -91444 -90556 -89972 -89849 -89582 -89551 -89542 -89454 -89447 -89234 -89035 -88443 -88365 -88069 -87886 -87649 -86856 -86836 -86819 -86739 -86684 -86532 -86347 -85947 -85800 -85707 -85090 -85015 -84816 -84669 -84630 -84567 -84367 -84211 -84111 -84021 -83678 -83347 -83216 -83163 -82871 -82332 -82185 -82038 -82013 -81967 -81924 -81857 -81802 -81657 -81426 -81390 -81341 -81281 -80984 -80909 -80796 -80580 -80323 -80276 -80239 -80078 -79689 -79355 -79000 -78913 -78878 -78718 -78529 -78509 -77994 -77772 -77671 -77558 -77547 -77282 -76082 -76060 -75805 -75607 -75552 -75520 -75274 -74591 -74334 -74201 -73987 -73791 -73648 -73288 -73108 -73054 -72846 -72580 -72334 -72106 -72059 -71942 -71664 -71663 -71583 -71356 -71257 -70758 -70675 -70673 -70093 -70014 -69976 -69971 -69913 -69764 -69742 -69685 -68949 -68660 -68573 -68371 -68280 -68267 -68187 -67402 -67331 -67033 -66912 -66897 -66818 -66633 -66591 -66544 -66343 -65707 -65692 -65316 -65278 -65046 -64797 -64428 -63727 -63253 -62714 -61373 -61316 -61179 -60944 -60927 -60889 -60461 -60226 -60054 -59944 -59935 -59934 -59895 -59485 -59421 -59251 -58966 -58829 -58730 -58648 -58540 -58278 -58268 -58062 -57651 -57643 -57402 -57070 -56842 -56735 -56713 -56505 -56403 -56016 -55517 -54436 -54380 -54075 -53893 -53827 -53587 -53190 -53168 -52982 -52961 -52424 -52361 -52332 -51900 -51671 -51465 -51288 -50220 -50172 -50138 -50086 -49916 -49789 -49776 -49711 -49516 -49373 -49114 -49030 -48349 -48143 -48010 -47857 -47800 -47739 -47684 -47270 -46629 -46455 -45780 -45530 -44930 -44902 -44785 -44682 -44515 -44479 -44395 -44123 -43980 -43968 -43914 -43840 -43277 -42932 -42862 -42633 -42480 -42272 -42188 -41910 -41691 -41562 -41222 -41112 -41097 -41068 -40838 -40367 -40338 -39989 -39985 -39677 -39566 -39377 -39320 -38810 -38529 -38431 -38343 -38035 -37941 -37609 -37467 -37430 -37284 -37230 -37121 -37001 -36857 -36730 -36339 -36300 -36220 -36073 -36041 -35963 -35816 -35645 -35457 -35188 -35177 -35014 -34945 -34939 -34817 -34675 -34588 -34515 -34368 -34171 -34097 -34094 -33869 -33815 -33227 -32828 -32275 -32055 -31802 -31642 -31525 -31330 -30955 -30799 -30672 -30649 -30625 -30517 -30480 -30479 -30410 -30371 -30367 -30059 -30054 -29642 -29350 -29200 -28981 -28772 -28633 -28606 -28452 -28091 -28016 -27578 -27518 -27470 -27305 -27083 -27057 -26999 -26982 -26966 -26881 -26830 -26690 -26140 -25888 -25814 -25608 -25463 -25293 -25224 -25099 -24788 -24476 -24343 -23649 -23419 -23061 -22868 -22496 -22341 -22220 -22051 -21765 -21721 -21520 -21358 -21273 -21108 -20942 -20763 -20697 -20352 -20342 -20285 -19997 -19947 -19730 -19621 -19388 -19362 -19192 -18923 -18626 -18464 -18286 -18223 -17791 -17772 -17709 -17639 -17281 -17117 -17066 -16823 -16191 -15837 -15525 -15510 -15506 -15025 -14800 -14494 -14320 -14187 -13949 -13441 -13381 -13286 -13262 -13192 -12920 -12626 -12561 -12133 -11960 -11886 -11816 -11527 -11373 -11054 -10826 -10783 -10686 -10549 -10116 -9887 -9381 -8983 -8785 -8510 -8340 -8260 -7950 -7789 -7775 -7286 -7124 -6985 -6203 -5398 -5055 -4847 -4522 -4409 -3297 -3264 -3213 -3131 -2858 -2111 -1981 -1616 -655 -651 -621 -615 -610 -287 -286 39 281 410 657 864 976 1936 2099 2232 2346 3290 3752 3980 4455 4593 4766 4773 5043 5130 5486 5515 5544 5847 5989 6011 6450 6529 6539 6542 6708 6849 7046 7057 7090 7767 7928 8080 8643 8755 8992 9097 9843 9897 10115 10138 10217 10510 10593 10666 10888 10923 11037 11038 11447 11449 11543 11867 12115 12296 12358 12415 12666 12692 12997 13062 13253 13645 13918 13971 14160 14183 14251 14264 14309 14398 14755 14845 14867 15121 15309 15466 15811 15824 15909 15927 16017 16056 16164 16893 17486 17601 17983 18096 18099 18175 18354 18940 18946 19021 19196 19277 19384 19658 19858 20136 20517 20665 21031 21275 21778 21803 21820 21863 21893 21905 22139 22427 22523 22696 22866 23049 23184 23210 23288 23338 23388 23907 23987 24042 24062 24141 24433 24554 24592 24804 24987 25037 25233 25492 26185 26745 26929 27034 27248 27307 27308 27399 27577 27808 27986 28065 28077 28085 28503 28665 28680 28902 28908 29445 29579 29598 31195 31225 31819 32324 32489 32614 32634 32939 33080 33085 33124 33537 34001 34066 34782 35122 35430 35679 35779 36043 36293 36655 36772 36989 37044 37530 38326 38658 38704 39029 39177 39231 39233 39645 39655 40017 40020 40473 40565 40584 40763 40937 41078 41091 41151 41356 41373 41394 41405 41552 41597 41711 42133 42242 42401 42753 43023 43165 43621 43638 44127 44264 44281 44619 44701 44841 45024 45024 45059 45089 45207 45335 45385 45536 45691 45697 46120 46295 46518 46770 47038 47545 47585 47841 47951 48170 48355 48729 49062 49187 49214 49336 49382 49695 50487 50784 50908 50913 50941 51050 51059 51149 51262 51698 51760 51828 52039 52198 52451 52701 53006 53112 53138 53440 53910 54221 54256 54278 54556 54609 55161 55214 55313 55664 55849 55984 55987 56094 56208 56271 56278 56345 56387 56445 56771 57009 57394 58139 58259 58552 58831 58914 58942 59014 59032 59186 59637 59811 59994 60241 60347 60603 61353 61457 62114 62335 62367 62702 62798 62833 62879 63120 63356 63855 63918 63975 64298 64427 64481 65005 65089 65439 65921 66261 66273 66405 66614 67015 67159 67213 67496 68024 68160 68492 69214 69319 69392 69749 69773 70361 70431 70513 70789 70853 70955 71299 71435 71627 71981 72326 72713 72748 72949 73023 73127 73325 73413 73505 73801 73903 73903 74025 74053 74125 74307 74821 74832 75001 75076 75161 75341 75368 75494 75564 75612 75671 75801 76078 76079 76234 76369 76518 76763 77002 77111 77554 77562 78032 78131 78332 78384 78706 78799 79374 79949 80055 80193 80223 80256 80532 80714 80844 80922 81039 81040 81146 81347 81914 82327 82429 82545 82607 82764 82769 82823 83360 83430 83811 83835 84249 84283 84428 84986 85183 85324 85416 85556 85602 85803 86605 86895 87051 87436 87745 88117 88310 88313 88326 88553 88594 88659 88679 88763 88932 89080 89292 89622 89839 89945 90896 90983 91122 91347 91497 91634 91865 92360 92553 92579 92690 92869 92927 93085 93210 93620 94009 94309 94497 94620 94741 94944 95542 95956 96064 96077 96118 96334 96352 96471 96732 96838 96860 96906 97073 97096 97134 97339 97518 97542 97717 97984 97988 98251 98748 99283 99387 99551 99743 99803 99887 99946
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/big_2_n800000.txt

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
0


3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1
1
1
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
2
2 1
1 2
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
3
3 1 2
1 2 3
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
4
0 -1 5 3
-1 0 3 5
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
3
7 7 7
7 7 7
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/fixed_6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
5
-3 -1 0 1 2
-3 -1 0 1 2
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_0_n0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
0


3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_1_n1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1
31
31
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_2_n2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
2
-36 -47
-47 -36
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_3_n3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
3
44 -15 -19
-19 -15 44
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_4_n4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
4
-22 -33 44 -37
-37 -33 -22 44
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_5_n5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
5
36 44 19 -39 25
-39 19 25 36 44
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_6_n10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
10
4 -46 -47 -39 -23 -21 14 27 -47 21
-47 -47 -46 -39 -23 -21 4 14 21 27
3 changes: 3 additions & 0 deletions tasks/konstantinov_s_radix/data/rand_7_n20.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
20
-25 41 33 39 19 3 -22 7 25 -15 -50 47 -30 39 4 -7 -15 -31 -23 47
-50 -31 -30 -25 -23 -22 -15 -15 -7 3 4 7 19 25 33 39 39 41 47 47
9 changes: 9 additions & 0 deletions tasks/konstantinov_s_radix/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"student": {
"first_name": "Семён",
"last_name": "Константинов",
"middle_name": "Анатольевич",
"group_number": "3823Б1ФИ3",
"task_number": "3"
}
}
24 changes: 24 additions & 0 deletions tasks/konstantinov_s_radix/mpi/include/ops_mpi.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once

#include "konstantinov_s_radix/common/include/common.hpp"
#include "task/include/task.hpp"

namespace konstantinov_s_radix {

class KonstantinovSRadixMPI : public BaseTask {
public:
static constexpr ppc::task::TypeOfTask GetStaticTypeOfTask() {
return ppc::task::TypeOfTask::kMPI;
}
explicit KonstantinovSRadixMPI(const InType &in);

private:
bool ValidationImpl() override;
bool PreProcessingImpl() override;
static void LocalRadixPass(InType &block);
static void PairwiseMergeExchange(InType &local_block, int prank, int comm_sz);
bool RunImpl() override;
bool PostProcessingImpl() override;
};

} // namespace konstantinov_s_radix
Loading
Loading