old tb
This commit is contained in:
@@ -9,6 +9,7 @@ CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy
|
||||
VX_STR = ./startup/vx_start.s
|
||||
VX_INT = ./intrinsics/vx_intrinsics.s
|
||||
VX_IO = ./io/vx_io.s ./io/vx_io.c
|
||||
VX_API = ./vx_api/vx_api.c
|
||||
VX_TEST = ./tests/tests.c
|
||||
|
||||
VX_MAIN = ./vx_main.c
|
||||
@@ -22,4 +23,4 @@ HEX: ELF
|
||||
$(CPY) -O ihex vortex_runtime.elf vortex_runtime.hex
|
||||
|
||||
ELF:
|
||||
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_TEST) $(VX_MAIN) -o vortex_runtime.elf
|
||||
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN) -o vortex_runtime.elf
|
||||
|
||||
@@ -3,22 +3,13 @@
|
||||
.type _start, @function
|
||||
.global _start
|
||||
_start:
|
||||
la a1, vx_set_sp
|
||||
li a0, 4
|
||||
la a1, 0x40004326
|
||||
sw a0, 0(a1)
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
lw a2, 0(a1)
|
||||
.word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
|
||||
jal vx_set_sp
|
||||
jal main
|
||||
li a0, 0
|
||||
.word 0x0005006b # tmc a0
|
||||
# la a1, vx_set_sp
|
||||
# li a0, 4
|
||||
# .word 0x00b5106b # wspawn a0(numWarps), a1(PC SPAWN)
|
||||
# jal vx_set_sp
|
||||
# jal main
|
||||
# li a0, 0
|
||||
# .word 0x0005006b # tmc a0
|
||||
|
||||
|
||||
.type vx_set_sp, @function
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,132 +1,128 @@
|
||||
:0200000480007A
|
||||
:1000000013054000B74500409385053223A0A500A5
|
||||
:1000100013000000130000001300000003A60500F9
|
||||
:10002000130500006B000500130540006B00050080
|
||||
:10003000F32610029396F600732600029315A6008D
|
||||
:100040001316260037F1FF6F3301B1403301D14061
|
||||
:100050003301C100F3261002638606001305000079
|
||||
:100060006B000500678000006B10B5006780000022
|
||||
:100070006B000500678000006B40B50067800000E2
|
||||
:100080006B200500678000006B3000006780000077
|
||||
:10009000732510026780000073250002678000004E
|
||||
:1000A000130540006B000500F32610029396F6003E
|
||||
:1000B000732600029315A6001316260037F1FF6F72
|
||||
:1000C0003301B1403301D1403301C100F3261002A6
|
||||
:1000D00063860600130500006B00050067800000C2
|
||||
:1000E000130141FF232011002322B10083450500A5
|
||||
:1000F00063880500EF00C001130515006FF01FFFB6
|
||||
:1001000083200100832541001301C10067800000A6
|
||||
:10011000B702010023A0B20067800000130101FEB6
|
||||
:10012000232E1100232C8100130401022326A4FE98
|
||||
:10013000B70700810327C4FE131727009387470FD3
|
||||
:10014000B307F70083A7070013850700EFF05FF9F7
|
||||
:10015000130000008320C101032481011301010267
|
||||
:1001600067800000130101FE232E1100232C810063
|
||||
:10017000130401022326A4FE2324B4FE0325C4FE97
|
||||
:10018000EFF01FF6032584FEEFF05FF9B70700815B
|
||||
:1001900013850704EFF0DFF4130000008320C10192
|
||||
:1001A000032481011301010267800000130101FE95
|
||||
:1001B000232E1100232C810013040102B7070081B4
|
||||
:1001C00083A7C72313850700EFF09FEAB7070081D5
|
||||
:1001D00003A78723B707008183A747231385070059
|
||||
:1001E000E7000700EFF0DFEA2326A4FE8327C4FE22
|
||||
:1001F0006388070013050000EFF09FE76F00C00061
|
||||
:1002000013051000EFF0DFE6130000008320C101AA
|
||||
:10021000032481011301010267800000130101FE24
|
||||
:10022000232E1100232C8100130401022326A4FE97
|
||||
:100230002324B4FE2322C4FE2320D4FEB70700816A
|
||||
:10024000032744FE23ACE722B7070081032704FEFF
|
||||
:1002500023AAE722B7070081032784FE23AEE72203
|
||||
:10026000832744FE938507000325C4FEEFF0DFDFFC
|
||||
:10027000EFF0DFF3130000008320C10103248101AC
|
||||
:100280001301010267800000130101FE232E1100FB
|
||||
:10029000232C810013040102B7070081138547084E
|
||||
:1002A000EFF01FE413054000EFF09FDCEFF0DFDE1E
|
||||
:1002B0002326A4FE0327C4FEB70700818326C4FEBD
|
||||
:1002C0009396260093870724B387F60023A0E700C0
|
||||
:1002D00013051000EFF0DFD9B707008183A70724CB
|
||||
:1002E00013850700EFF09FE3B70700811385070927
|
||||
:1002F000EFF01FDFB70700819387072483A747002C
|
||||
:1003000013850700EFF09FE1B70700811385070908
|
||||
:10031000EFF01FDDB70700819387072483A78700CD
|
||||
:1003200013850700EFF09FDFB707008113850709EA
|
||||
:10033000EFF01FDBB70700819387072483A7C7006F
|
||||
:1003400013850700EFF09FDDB707008113850709CC
|
||||
:10035000EFF01FD9130000008320C10103248101A5
|
||||
:100360001301010267800000130101FE232E11001A
|
||||
:10037000232C810013040102EFF01FD22326A4FED8
|
||||
:100380008327C4FE93B72700A305F4FE8347B4FE7A
|
||||
:1003900013850700EFF0DFCE8347B4FE63840706C2
|
||||
:1003A0008327C4FE93B717002305F4FE8347A4FEFA
|
||||
:1003B00013850700EFF0DFCC8347A4FE63820702BA
|
||||
:1003C000B70700810327C4FE13172700938707246C
|
||||
:1003D000B307F7001307A00023A0E7006F00000297
|
||||
:1003E000B70700810327C4FE13172700938707244C
|
||||
:1003F000B307F7001307B00023A0E700EFF0DFC852
|
||||
:100400006F0040068327C4FE93B73700A304F4FEB1
|
||||
:10041000834794FE13850700EFF09FC6834794FE41
|
||||
:1004200063820702B70700810327C4FE1317270062
|
||||
:1004300093870724B307F7001307C00023A0E70042
|
||||
:100440006F000002B70700810327C4FE13172700BF
|
||||
:1004500093870724B307F7001307D00023A0E70012
|
||||
:10046000EFF09FC2EFF05FC2B707008183A70724B8
|
||||
:1004700013850700EFF09FCAB707008113850709AE
|
||||
:10048000EFF01FC6B70700819387072483A74700B3
|
||||
:1004900013850700EFF09FC8B70700811385070990
|
||||
:1004A000EFF01FC4B70700819387072483A7870055
|
||||
:1004B00013850700EFF09FC6B70700811385070972
|
||||
:1004C000EFF01FC2B70700819387072483A7C700F7
|
||||
:1004D00013850700EFF09FC4B70700811385070954
|
||||
:1004E000EFF01FC0130000008320C101032481012D
|
||||
:1004F0001301010267800000130101FE232E110089
|
||||
:10050000232C810013040102EFF09FB82326A4FEE0
|
||||
:10051000B70700810327C4FE131727009387072519
|
||||
:10052000B307F7000327C4FE23A0E7008327C4FE18
|
||||
:100530006386070013050000EFF09FB3130000006F
|
||||
:100540008320C1010324810113010102678000009F
|
||||
:10055000130101FE232E1100232C8100130401023C
|
||||
:10056000B70700809387874F2326F4FE8325C4FEB8
|
||||
:1005700013054000EFF05FAFEFF01FF8B707008101
|
||||
:1005800083A7072513850700EFF05FB9B707008140
|
||||
:1005900013850709EFF0DFB4B707008193870725BC
|
||||
:1005A00083A7470013850700EFF05FB7B707008107
|
||||
:1005B00013850709EFF0DFB2B7070081938707259E
|
||||
:1005C00083A7870013850700EFF05FB5B7070081A9
|
||||
:1005D00013850709EFF0DFB0B70700819387072580
|
||||
:1005E00083A7C70013850700EFF05FB3B70700814B
|
||||
:1005F00013850709EFF0DFAE130000008320C1016F
|
||||
:10060000032481011301010267800000130101FF2F
|
||||
:10061000232611002324810013040101EFF0DFC61B
|
||||
:10062000B707008113854709EFF09FAB1305400022
|
||||
:10063000EFF01FA4EFF05FD313051000EFF05FA3FE
|
||||
:10064000B70700811385870AEFF09FA9EFF05FF0ED
|
||||
:10065000130000008320C100032481001301010165
|
||||
:1006600067800000130101FC232E1102232C81025C
|
||||
:10067000130401042326A4FC8327C4FC2326F4FED0
|
||||
:10068000EFF01FA12324A4FEEFF01FA12322A4FE5C
|
||||
:100690008327C4FE83A70701032784FE637EF70038
|
||||
:1006A0008327C4FE83A7C700032744FE6376F700B1
|
||||
:1006B000930710006F00800093070000A301F4FE71
|
||||
:1006C000834734FE93F71700A301F4FE834734FEFB
|
||||
:1006D00013850700EFF0DF9A834734FE6386070631
|
||||
:1006E0008327C4FE03A7C700832784FEB307F7024E
|
||||
:1006F000032744FEB307F700232EF4FC8327C4FE30
|
||||
:1007000003A707008327C4FD93972700B307F700CB
|
||||
:1007100083A607008327C4FE03A747008327C4FDE1
|
||||
:1007200093972700B307F70003A707008327C4FEAA
|
||||
:1007300003A687008327C4FD93972700B307F6001D
|
||||
:100740003387E60023A0E700EFF01F9413000000BA
|
||||
:100750008320C10303248103130101046780000087
|
||||
:10076000130101FD23261102232481021304010336
|
||||
:1007700013051000EFF0DF8FB70700819387471B49
|
||||
:10078000232AF4FCB70700819387471F232CF4FC2E
|
||||
:10079000B707008193870726232EF4FC93074000B8
|
||||
:1007A0002320F4FE930740002322F4FE9307400029
|
||||
:1007B0002326F4FE930740002324F4FE0327C4FEFF
|
||||
:1007C000832584FE930744FD93860700B7070080C6
|
||||
:1007D0001386476613050700EFF05FA49307000038
|
||||
:1007E000138507008320C102032481021301010342
|
||||
:0407F000678000001E
|
||||
:100000009705000093850502130540006B10B500AD
|
||||
:10001000EF000001EF004074130500006B000500C5
|
||||
:10002000130540006B000500F32610029396F600BE
|
||||
:10003000732600029315A6001316260037F1FF6FF2
|
||||
:100040003301B1403301D1403301C100F326100226
|
||||
:1000500063860600130500006B0005006780000042
|
||||
:100060006B10B500678000006B0005006780000022
|
||||
:100070006B40B500678000006B20050067800000C2
|
||||
:100080006B3000006780000073251002678000005D
|
||||
:100090007325000267800000130540006B00050017
|
||||
:1000A000F32610029396F600732600029315A6001D
|
||||
:1000B0001316260037F1FF6F3301B1403301D140F1
|
||||
:1000C0003301C100F3261002638606001305000009
|
||||
:1000D0006B00050067800000130141FF2320110021
|
||||
:1000E0002322B1008345050063880500EF00C001AD
|
||||
:1000F000130515006FF01FFF8320010083254100C9
|
||||
:100100001301C10067800000B702010023A0B20004
|
||||
:1001100067800000130101FE232E1100232C8100B3
|
||||
:10012000130401022326A4FEB70700810327C4FE9F
|
||||
:100130001317270093878711B307F70083A70700DA
|
||||
:1001400013850700EFF05FF9130000008320C10161
|
||||
:10015000032481011301010267800000130101FEE5
|
||||
:10016000232E1100232C8100130401022326A4FE58
|
||||
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
|
||||
:10018000EFF05FF9B707008113850704EFF0DFF4A4
|
||||
:10019000130000008320C101032481011301010227
|
||||
:1001A00067800000130101FE232E1100232C810023
|
||||
:1001B00013040102B707008183A7072613850700F0
|
||||
:1001C000EFF09FEAB707008103A7C725B7070081B3
|
||||
:1001D00083A7872513850700E7000700EFF0DFEA14
|
||||
:1001E0002326A4FE8327C4FE6388070013050000AE
|
||||
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
|
||||
:10020000130000008320C1010324810113010102B6
|
||||
:1002100067800000130101FE232E1100232C8100B2
|
||||
:10022000130401022326A4FE2324B4FE2322C4FEC9
|
||||
:100230002320D4FEB7070081032744FE23AEE72422
|
||||
:10024000B7070081032704FE23ACE724B70700812A
|
||||
:10025000032784FE23A0E726832744FE9385070017
|
||||
:100260000325C4FEEFF0DFDFEFF0DFF31300000043
|
||||
:100270008320C10103248101130101026780000072
|
||||
:10028000130101FE232E1100232C8100130401020F
|
||||
:10029000B707008113854708EFF01FE413054000FE
|
||||
:1002A000EFF09FDCEFF0DFDE2326A4FE0327C4FE81
|
||||
:1002B000B70700818326C4FE9396260093874726BE
|
||||
:1002C000B387F60023A0E70013051000EFF0DFD995
|
||||
:1002D000B707008183A7472613850700EFF09FE348
|
||||
:1002E000B707008113850709EFF01FDFB70700810B
|
||||
:1002F0009387472683A7470013850700EFF09FE108
|
||||
:10030000B707008113850709EFF01FDDB7070081EC
|
||||
:100310009387472683A7870013850700EFF09FDFA9
|
||||
:10032000B707008113850709EFF01FDBB7070081CE
|
||||
:100330009387472683A7C70013850700EFF09FDD4B
|
||||
:10034000B707008113850709EFF01FD913000000DC
|
||||
:100350008320C10103248101130101026780000091
|
||||
:10036000130101FE232E1100232C8100130401022E
|
||||
:10037000EFF01FD22326A4FE8327C4FE93B72700E5
|
||||
:10038000A305F4FE8347B4FE13850700EFF0DFCE2C
|
||||
:100390008347B4FE638407068327C4FE93B7170020
|
||||
:1003A0002305F4FE8347A4FE13850700EFF0DFCC9E
|
||||
:1003B0008347A4FE63820702B70700810327C4FEB8
|
||||
:1003C0001317270093874726B307F7001307A000EA
|
||||
:1003D00023A0E7006F000002B70700810327C4FED7
|
||||
:1003E0001317270093874726B307F7001307B000BA
|
||||
:1003F00023A0E700EFF0DFC86F0040068327C4FEAC
|
||||
:1004000093B73700A304F4FE834794FE13850700D7
|
||||
:10041000EFF09FC6834794FE63820702B70700810F
|
||||
:100420000327C4FE1317270093874726B307F70057
|
||||
:100430001307C00023A0E7006F000002B707008188
|
||||
:100440000327C4FE1317270093874726B307F70037
|
||||
:100450001307D00023A0E700EFF09FC2EFF05FC2C8
|
||||
:10046000B707008183A7472613850700EFF09FCACF
|
||||
:10047000B707008113850709EFF01FC6B707008192
|
||||
:100480009387472683A7470013850700EFF09FC88F
|
||||
:10049000B707008113850709EFF01FC4B707008174
|
||||
:1004A0009387472683A7870013850700EFF09FC631
|
||||
:1004B000B707008113850709EFF01FC2B707008156
|
||||
:1004C0009387472683A7C70013850700EFF09FC4D3
|
||||
:1004D000B707008113850709EFF01FC01300000064
|
||||
:1004E0008320C10103248101130101026780000000
|
||||
:1004F000130101FE232E1100232C8100130401029D
|
||||
:10050000EFF09FB82326A4FEB70700810327C4FE9F
|
||||
:100510001317270093874727B307F7000327C4FE65
|
||||
:1005200023A0E7008327C4FE6386070013050000AD
|
||||
:10053000EFF09FB3130000008320C1010324810169
|
||||
:100540001301010267800000130101FE232E110038
|
||||
:10055000232C810013040102B70700809387074F03
|
||||
:100560002326F4FE8325C4FE13054000EFF05FAFA1
|
||||
:10057000EFF01FF8B707008183A74727138507000F
|
||||
:10058000EFF05FB9B707008113850709EFF0DFB41B
|
||||
:10059000B70700819387472783A747001385070084
|
||||
:1005A000EFF05FB7B707008113850709EFF0DFB2FF
|
||||
:1005B000B70700819387472783A787001385070024
|
||||
:1005C000EFF05FB5B707008113850709EFF0DFB0E3
|
||||
:1005D000B70700819387472783A7C70013850700C4
|
||||
:1005E000EFF05FB3B707008113850709EFF0DFAEC7
|
||||
:1005F000130000008320C1010324810113010102C3
|
||||
:1006000067800000130101FF2326110023248100CD
|
||||
:1006100013040101EFF0DFC6B70700811385470916
|
||||
:10062000EFF09FAB13054000EFF01FA4EFF05FD396
|
||||
:1006300013051000EFF05FA3B70700811385870A49
|
||||
:10064000EFF09FA9EFF05FF0130000008320C100DE
|
||||
:10065000032481001301010167800000130101FCE4
|
||||
:10066000232E1102232C8102130401042326A4FC4F
|
||||
:100670008327C4FC2326F4FEEFF01FA12324A4FE4D
|
||||
:10068000EFF01FA12322A4FE8327C4FE83A7070146
|
||||
:10069000032784FE637EF7008327C4FE83A7C70079
|
||||
:1006A000032744FE6376F700930710006F00800075
|
||||
:1006B00093070000A301F4FE834734FE93F717006D
|
||||
:1006C000A301F4FE834734FE13850700EFF0DF9AA1
|
||||
:1006D000834734FE638607068327C4FE03A7C7004B
|
||||
:1006E000832784FEB307F702032744FEB307F7000E
|
||||
:1006F000232EF4FC8327C4FE03A707008327C4FD31
|
||||
:1007000093972700B307F70083A607008327C4FE4B
|
||||
:1007100003A747008327C4FD93972700B307F7007B
|
||||
:1007200003A707008327C4FE03A687008327C4FD11
|
||||
:1007300093972700B307F6003387E60023A0E7006E
|
||||
:10074000EFF01F94130000008320C10303248103F2
|
||||
:100750001301010467800000130101FF232611002B
|
||||
:10076000232481001304010113051000EFF0DF8F33
|
||||
:10077000EFF01FB1B70700811385470FEFF0DF954A
|
||||
:1007800013054000EFF05F8EEFF09FBD13051000E2
|
||||
:10079000EFF09F8DB707008113858710EFF0DF938F
|
||||
:1007A000EFF09FDA93070000138507008320C10054
|
||||
:0C07B00003248100130101016780000098
|
||||
:02000004810079
|
||||
:10000000300000003100000032000000330000002A
|
||||
:10001000340000003500000036000000370000000A
|
||||
@@ -143,26 +139,28 @@
|
||||
:1000C000330000003400000035000000360000005E
|
||||
:1000D0003700000038000000390000006100000017
|
||||
:1000E0006200000063000000640000006500000082
|
||||
:0200F0006600A8
|
||||
:1000F4000000008104000081080000810C000081E0
|
||||
:100104001000008114000081180000811C0000818F
|
||||
:100114002000008124000081280000812C0000813F
|
||||
:100124003000008134000081380000813C000081EF
|
||||
:1001340044000081480000814C000081500000818F
|
||||
:1001440054000081580000815C000081600000813F
|
||||
:1001540064000081680000816C00008170000081EF
|
||||
:1001640074000081780000817C000081800000819F
|
||||
:10017400B4000081B8000081BC000081C00000818F
|
||||
:10018400C4000081C8000081CC000081D00000813F
|
||||
:10019400D4000081D8000081DC000081E0000081EF
|
||||
:1001A400E4000081E8000081EC000081F00000819F
|
||||
:1001B4000100000001000000010000000100000037
|
||||
:1001C4000100000001000000010000000100000027
|
||||
:1001D4000100000001000000010000000100000017
|
||||
:1001E4000100000001000000010000000100000007
|
||||
:1001F40006000000060000000600000006000000E3
|
||||
:1002040006000000060000000600000006000000D2
|
||||
:1002140006000000060000000600000006000000C2
|
||||
:1002240006000000060000000600000006000000B2
|
||||
:1000F00066000000746573745F6469766572676595
|
||||
:100100006E63650A00000000746573745F77737036
|
||||
:0501100061776E0A009A
|
||||
:100118000000008104000081080000810C000081BB
|
||||
:100128001000008114000081180000811C0000816B
|
||||
:100138002000008124000081280000812C0000811B
|
||||
:100148003000008134000081380000813C000081CB
|
||||
:1001580044000081480000814C000081500000816B
|
||||
:1001680054000081580000815C000081600000811B
|
||||
:1001780064000081680000816C00008170000081CB
|
||||
:1001880074000081780000817C000081800000817B
|
||||
:10019800B4000081B8000081BC000081C00000816B
|
||||
:1001A800C4000081C8000081CC000081D00000811B
|
||||
:1001B800D4000081D8000081DC000081E0000081CB
|
||||
:1001C800E4000081E8000081EC000081F00000817B
|
||||
:1001D8000100000001000000010000000100000013
|
||||
:1001E8000100000001000000010000000100000003
|
||||
:1001F80001000000010000000100000001000000F3
|
||||
:1002080001000000010000000100000001000000E2
|
||||
:1002180006000000060000000600000006000000BE
|
||||
:1002280006000000060000000600000006000000AE
|
||||
:10023800060000000600000006000000060000009E
|
||||
:10024800060000000600000006000000060000008E
|
||||
:040000058000000077
|
||||
:00000001FF
|
||||
|
||||
37
runtime/vx_api/vx_api.c
Normal file
37
runtime/vx_api/vx_api.c
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
#include "../intrinsics/vx_intrinsics.h"
|
||||
#include "vx_api.h"
|
||||
|
||||
|
||||
|
||||
func_t global_function_pointer;
|
||||
// void (func_t)(void *)
|
||||
|
||||
void * global_argument_struct;
|
||||
|
||||
unsigned global_num_threads;
|
||||
void setup_call()
|
||||
{
|
||||
vx_tmc(global_num_threads);
|
||||
global_function_pointer(global_argument_struct);
|
||||
|
||||
unsigned wid = vx_warpID();
|
||||
if (wid != 0)
|
||||
{
|
||||
vx_tmc(0); // Halt Warp Execution
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_tmc(1); // Only activate one thread
|
||||
}
|
||||
}
|
||||
|
||||
void vx_spawnWarps(unsigned numWarps, unsigned numThreads, func_t func_ptr, void * args)
|
||||
{
|
||||
global_function_pointer = func_ptr;
|
||||
global_argument_struct = args;
|
||||
global_num_threads = numThreads;
|
||||
vx_wspawn(numWarps, (unsigned) func_ptr);
|
||||
setup_call();
|
||||
|
||||
}
|
||||
18
runtime/vx_api/vx_api.h
Normal file
18
runtime/vx_api/vx_api.h
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
#ifndef VX_API_
|
||||
|
||||
#define VX_API_
|
||||
|
||||
|
||||
typedef void (*func_t)(void *);
|
||||
|
||||
void vx_spawnWarps(unsigned numWarps, unsigned numThreads, func_t func_ptr , void * args);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -2,11 +2,71 @@
|
||||
#include "intrinsics/vx_intrinsics.h"
|
||||
#include "io/vx_io.h"
|
||||
#include "tests/tests.h"
|
||||
#include "vx_api/vx_api.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned * x;
|
||||
unsigned * y;
|
||||
unsigned * z;
|
||||
unsigned numColums;
|
||||
unsigned numRows;
|
||||
} mat_add_args_t;
|
||||
|
||||
|
||||
unsigned x[] = {1, 1, 1, 1,
|
||||
1, 1, 1, 1,
|
||||
1, 1, 1, 1,
|
||||
1, 1, 1, 1};
|
||||
|
||||
unsigned y[] = {6, 6, 6, 6,
|
||||
6, 6, 6, 6,
|
||||
6, 6, 6, 6,
|
||||
6, 6, 6, 6};
|
||||
|
||||
unsigned z[] = {0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0};
|
||||
|
||||
void mat_add_kernel(void * void_arguments)
|
||||
{
|
||||
mat_add_args_t * arguments = (mat_add_args_t *) void_arguments;
|
||||
|
||||
unsigned wid = vx_warpID();
|
||||
unsigned tid = vx_threadID();
|
||||
|
||||
bool valid = (wid < arguments->numRows) && (tid < arguments->numColums);
|
||||
|
||||
__if (valid)
|
||||
{
|
||||
unsigned index = (wid * arguments->numColums) + tid;
|
||||
arguments->z[index] = arguments->x[index] + arguments->y[index];
|
||||
}
|
||||
__endif
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
// Main is called with all threads active of warp 0
|
||||
vx_tmc(1);
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
// mat_add_args_t arguments;
|
||||
// arguments.x = x;
|
||||
// arguments.y = y;
|
||||
// arguments.z = z;
|
||||
// arguments.numColums = 4;
|
||||
// arguments.numRows = 4;
|
||||
|
||||
|
||||
// int numWarps = 4;
|
||||
// int numThreads = 4;
|
||||
|
||||
// vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
NOTE: * when test_wspawn is called from instrinsic_tests, RA 80000458 is stored at address 6fffefbc,
|
||||
@@ -19,6 +79,7 @@ int main()
|
||||
*/
|
||||
// intrinsics_tests();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
test_tmc();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user