Andrzej Janik
951c7558cc
Fix problems with non-dereferencing inline addition
2021-06-12 16:17:32 +02:00
Andrzej Janik
2198862e76
Fix handling of kernel args in stateful conversion
2021-06-11 12:36:23 +02:00
Andrzej Janik
f0771e1fb6
Slightly improve stateful optimization
2021-06-11 00:00:56 +02:00
Andrzej Janik
994cfb3386
Fix small bug in stateful postprocess
2021-06-06 21:51:40 +02:00
Andrzej Janik
9ad88ac982
Make stateful optimization build
2021-06-06 18:14:49 +02:00
Andrzej Janik
e940b9400f
Bring back support for dynamic shared memory
2021-06-06 17:25:05 +02:00
Andrzej Janik
491e71e346
Make vector extraction honor relaxed implicit conversion semantics
2021-06-06 00:10:26 +02:00
Andrzej Janik
83ba70bf37
Remove last uses of new_todo
2021-06-05 01:15:36 +02:00
Andrzej Janik
90960fd923
Fix method arg load generation
2021-06-05 00:49:27 +02:00
Andrzej Janik
f70abd065b
Continue attempts at fixing code emission for method args
2021-06-04 00:48:51 +02:00
Andrzej Janik
2e6f7e3fdc
Implement address-taking mov
2021-05-31 00:00:57 +02:00
Andrzej Janik
3d9a79c41e
Re-enable relaxed conversions
2021-05-30 23:06:44 +02:00
Andrzej Janik
4091f658b2
Fix PtrAccess
2021-05-30 20:21:43 +02:00
Andrzej Janik
8d74c16c86
Refactor implicit conversions
2021-05-30 16:08:18 +02:00
Andrzej Janik
2fc7af0434
Fix level zero bindings
2021-05-28 00:14:45 +02:00
Andrzej Janik
e40785aa74
Refactor L0 bindings
2021-05-27 02:05:17 +02:00
Andrzej Janik
82b5cef0bd
Carry state space with pointer
2021-05-15 15:58:11 +02:00
Andrzej Janik
425edfcdd4
Simplify typing
2021-05-07 18:22:09 +02:00
Andrzej Janik
7f051ad20e
Fix and test
2021-05-06 01:32:45 +02:00
Andrzej Janik
9d92a6e284
Start converting the translation to one type type
2021-05-05 22:56:58 +02:00
Andrzej Janik
d51aaaf552
Throw away special variable types
2021-04-17 14:01:50 +02:00
Andrzej Janik
a55c851eaa
Add comment
2021-04-15 20:01:01 +02:00
Andrzej Janik
8cd3db6648
Remove LdStType
2021-04-15 19:53:54 +02:00
Andrzej Janik
4d04fe251d
Remove all remaining subenums
2021-04-15 19:21:52 +02:00
Andrzej Janik
a0baad9456
Convert enumes to 1TT
2021-04-15 19:10:45 +02:00
Andrzej Janik
15f465041d
Implement setp.nan and setp.num
2021-03-03 23:35:18 +01:00
Andrzej Janik
17291019e3
Implement atomic float add
2021-03-03 22:41:47 +01:00
Andrzej Janik
efd91e270c
Implement non-coherent loads and implicit sign-extending conversions
2021-03-03 21:22:31 +01:00
Andrzej Janik
cdac38d572
Support kernel tuning directives
2021-03-03 00:59:47 +01:00
Andrzej Janik
648035a01a
Update rspirv/spirv_headers to the newest version
2021-03-02 01:42:23 +01:00
Andrzej Janik
178ec59af6
Implement bfi instruction
2021-03-01 23:01:53 +01:00
Andrzej Janik
d3cd2dc8b4
Do slightly better when it comes to PTX error recovery
2021-03-01 02:24:27 +01:00
Andrzej Janik
a906c350f2
Make misc fixes ( #41 )
...
* Update ze_loader.lib to the newest version
* Export _ptsz/_ptds for which we have a legacy stream implementations
* Stop producing build logs if we are not looking at them anyway
2021-02-22 01:29:03 +01:00
Andrzej Janik
972f612562
Fix signed integer conversion ( #36 )
...
This fixes the last remaining bug preventing end-to-end GeekBench run, so also update Geekbench results in README
2021-01-26 21:05:09 +01:00
Andrzej Janik
ff8135e8a3
Add a library for dumping kernels arguments before and after launch ( #18 )
2021-01-16 22:28:48 +01:00
Andrzej Janik
237a6c113a
Regenerate SPIR-V tests ( #29 )
...
In one of the previous commits we made a change to mark ld/st as aligned. This change was not propagated to test files
2021-01-08 19:06:11 +01:00
Andrzej Janik
63af70a01f
Fix builtins generation, mark ld/st as aligned ( #22 )
...
Two changes:
* Fixes to builtins generation that I forgot to include in #21
* Marking of ld/st as aligned - this gives a big performance boost in GeekBench SFFT
2020-12-12 20:40:24 +01:00
Andrzej Janik
a3cfa24593
Fix SPIR-V code generation for PTX special registers ( #21 )
...
We currently directly map PTX special registers: %ntid, %tid, etc. to SPIR-V builtins with type OpTypeVector %uint 4.
This is wrong and leads to a silent corruption, which fails e.g. Depth of Field in GeekBench
2020-12-11 21:31:08 +01:00
vosen
770a379452
Refactor how vectors are handled ( #20 )
...
Current code has a problem with handling vector members: "b.x" in "mov.u32 a, b.x". This functionality has been kinda tacked-on and has annoying issues:
* vector members support is only limited to being source of movs (so "add.u32 a.x, b.x, c.y" will not work)
* the width of "b" in "b.x" is not known, which led to some "interesting" workarounds
* passes can either convert all member accesses to other member accesses or to temporaries. No way to convert some member accesses to temporaries (which we need for an important fix)
This commit solves all this
2020-12-09 00:20:06 +01:00
Andrzej Janik
bcd1740ba9
Add README and rebuild .spv library
2020-11-23 21:50:21 +01:00
Andrzej Janik
eb7c9aeeee
Rename everything
2020-11-23 20:01:10 +01:00
Andrzej Janik
0415f873ae
Throw away useless stuff
2020-11-23 20:00:57 +01:00
Andrzej Janik
cd141590be
Fix typo in selp
2020-11-22 21:50:54 +01:00
Andrzej Janik
6e39c4a90c
Fix linking with shl/shr, add memset on host and support __assertfail
2020-11-21 01:53:07 +01:00
Andrzej Janik
84ac086146
Fix problems with linking
2020-11-21 00:27:37 +01:00
Andrzej Janik
70dc298381
Fix buggy handling of u8 shared memory
2020-11-20 00:07:50 +01:00
Andrzej Janik
f77b653d36
Implement stateless-to-stateful optimization
2020-11-19 22:12:12 +01:00
Andrzej Janik
a6765baa3a
Add back erroneously removed functionality
2020-11-12 22:47:14 +01:00
Andrzej Janik
a2e77fe961
Refactor host code to use one big lock
2020-11-12 20:12:14 +01:00
Andrzej Janik
62d14cdffe
Fix ftz behavior slightly
2020-11-07 16:14:37 +01:00