// ************************************************************************** // // // // eses eses // // eses eses // // eses eseses esesese eses Embedded Systems Group // // ese ese ese ese ese // // ese eseseses eseseses ese Department of Computer Science // // eses eses ese eses // // eses eseses eseseses eses University of Kaiserslautern // // eses eses // // // // ************************************************************************** // nat x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63,x64,x65,x66,x67,x68,x69,x70,x71,x72,x73,x74,x75,x76,x77,x78,x79,x80,x81,x82,x83,x84,x85,x86,x87,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101,x102,x103,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115,x116,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127; thread ParallelPrefixTree_128 { // up-level 0 x1 = x0 + x1; x3 = x2 + x3; x5 = x4 + x5; x7 = x6 + x7; x9 = x8 + x9; x11 = x10 + x11; x13 = x12 + x13; x15 = x14 + x15; x17 = x16 + x17; x19 = x18 + x19; x21 = x20 + x21; x23 = x22 + x23; x25 = x24 + x25; x27 = x26 + x27; x29 = x28 + x29; x31 = x30 + x31; x33 = x32 + x33; x35 = x34 + x35; x37 = x36 + x37; x39 = x38 + x39; x41 = x40 + x41; x43 = x42 + x43; x45 = x44 + x45; x47 = x46 + x47; x49 = x48 + x49; x51 = x50 + x51; x53 = x52 + x53; x55 = x54 + x55; x57 = x56 + x57; x59 = x58 + x59; x61 = x60 + x61; x63 = x62 + x63; x65 = x64 + x65; x67 = x66 + x67; x69 = x68 + x69; x71 = x70 + x71; x73 = x72 + x73; x75 = x74 + x75; x77 = x76 + x77; x79 = x78 + x79; x81 = x80 + x81; x83 = x82 + x83; x85 = x84 + x85; x87 = x86 + x87; x89 = x88 + x89; x91 = x90 + x91; x93 = x92 + x93; x95 = x94 + x95; x97 = x96 + x97; x99 = x98 + x99; x101 = x100 + x101; x103 = x102 + x103; x105 = x104 + x105; x107 = x106 + x107; x109 = x108 + x109; x111 = x110 + x111; x113 = x112 + x113; x115 = x114 + x115; x117 = x116 + x117; x119 = x118 + x119; x121 = x120 + x121; x123 = x122 + x123; x125 = x124 + x125; x127 = x126 + x127; // up-level 1 x3 = x1 + x3; x7 = x5 + x7; x11 = x9 + x11; x15 = x13 + x15; x19 = x17 + x19; x23 = x21 + x23; x27 = x25 + x27; x31 = x29 + x31; x35 = x33 + x35; x39 = x37 + x39; x43 = x41 + x43; x47 = x45 + x47; x51 = x49 + x51; x55 = x53 + x55; x59 = x57 + x59; x63 = x61 + x63; x67 = x65 + x67; x71 = x69 + x71; x75 = x73 + x75; x79 = x77 + x79; x83 = x81 + x83; x87 = x85 + x87; x91 = x89 + x91; x95 = x93 + x95; x99 = x97 + x99; x103 = x101 + x103; x107 = x105 + x107; x111 = x109 + x111; x115 = x113 + x115; x119 = x117 + x119; x123 = x121 + x123; x127 = x125 + x127; // up-level 2 x7 = x3 + x7; x15 = x11 + x15; x23 = x19 + x23; x31 = x27 + x31; x39 = x35 + x39; x47 = x43 + x47; x55 = x51 + x55; x63 = x59 + x63; x71 = x67 + x71; x79 = x75 + x79; x87 = x83 + x87; x95 = x91 + x95; x103 = x99 + x103; x111 = x107 + x111; x119 = x115 + x119; x127 = x123 + x127; // up-level 3 x15 = x7 + x15; x31 = x23 + x31; x47 = x39 + x47; x63 = x55 + x63; x79 = x71 + x79; x95 = x87 + x95; x111 = x103 + x111; x127 = x119 + x127; // up-level 4 x31 = x15 + x31; x63 = x47 + x63; x95 = x79 + x95; x127 = x111 + x127; // up-level 5 x63 = x31 + x63; x127 = x95 + x127; // up-level 6 x127 = x63 + x127; // up-level 7 // down-level 8 // down-level 9 x95 = x63 + x95; // down-level 10 x47 = x31 + x47; x79 = x63 + x79; x111 = x95 + x111; // down-level 11 x23 = x15 + x23; x39 = x31 + x39; x55 = x47 + x55; x71 = x63 + x71; x87 = x79 + x87; x103 = x95 + x103; x119 = x111 + x119; // down-level 12 x11 = x7 + x11; x19 = x15 + x19; x27 = x23 + x27; x35 = x31 + x35; x43 = x39 + x43; x51 = x47 + x51; x59 = x55 + x59; x67 = x63 + x67; x75 = x71 + x75; x83 = x79 + x83; x91 = x87 + x91; x99 = x95 + x99; x107 = x103 + x107; x115 = x111 + x115; x123 = x119 + x123; // down-level 13 x5 = x3 + x5; x9 = x7 + x9; x13 = x11 + x13; x17 = x15 + x17; x21 = x19 + x21; x25 = x23 + x25; x29 = x27 + x29; x33 = x31 + x33; x37 = x35 + x37; x41 = x39 + x41; x45 = x43 + x45; x49 = x47 + x49; x53 = x51 + x53; x57 = x55 + x57; x61 = x59 + x61; x65 = x63 + x65; x69 = x67 + x69; x73 = x71 + x73; x77 = x75 + x77; x81 = x79 + x81; x85 = x83 + x85; x89 = x87 + x89; x93 = x91 + x93; x97 = x95 + x97; x101 = x99 + x101; x105 = x103 + x105; x109 = x107 + x109; x113 = x111 + x113; x117 = x115 + x117; x121 = x119 + x121; x125 = x123 + x125; // down-level 14 x2 = x1 + x2; x4 = x3 + x4; x6 = x5 + x6; x8 = x7 + x8; x10 = x9 + x10; x12 = x11 + x12; x14 = x13 + x14; x16 = x15 + x16; x18 = x17 + x18; x20 = x19 + x20; x22 = x21 + x22; x24 = x23 + x24; x26 = x25 + x26; x28 = x27 + x28; x30 = x29 + x30; x32 = x31 + x32; x34 = x33 + x34; x36 = x35 + x36; x38 = x37 + x38; x40 = x39 + x40; x42 = x41 + x42; x44 = x43 + x44; x46 = x45 + x46; x48 = x47 + x48; x50 = x49 + x50; x52 = x51 + x52; x54 = x53 + x54; x56 = x55 + x56; x58 = x57 + x58; x60 = x59 + x60; x62 = x61 + x62; x64 = x63 + x64; x66 = x65 + x66; x68 = x67 + x68; x70 = x69 + x70; x72 = x71 + x72; x74 = x73 + x74; x76 = x75 + x76; x78 = x77 + x78; x80 = x79 + x80; x82 = x81 + x82; x84 = x83 + x84; x86 = x85 + x86; x88 = x87 + x88; x90 = x89 + x90; x92 = x91 + x92; x94 = x93 + x94; x96 = x95 + x96; x98 = x97 + x98; x100 = x99 + x100; x102 = x101 + x102; x104 = x103 + x104; x106 = x105 + x106; x108 = x107 + x108; x110 = x109 + x110; x112 = x111 + x112; x114 = x113 + x114; x116 = x115 + x116; x118 = x117 + x118; x120 = x119 + x120; x122 = x121 + x122; x124 = x123 + x124; x126 = x125 + x126; }