333 Commits

Author SHA1 Message Date
Andrzej Janik
14edb4325e Fix linking of AMD device libraries 2024-11-02 16:02:52 +01:00
Andrzej Janik
b4cb3ade63 Recover from and report unknown instructions and directives (#295) 2024-11-02 15:57:57 +01:00
Andrzej Janik
3870a96592 Re-enable all failing PTX tests (#277)
Additionally remove unused compilation paths
2024-10-16 03:15:48 +02:00
F. St.
1a63ef62b7 Add note about submodules to README.md (#280) 2024-10-05 15:41:46 +02:00
Andrzej Janik
7b2ecdd725 Update README (#279) 2024-10-04 16:35:40 +02:00
Andrzej Janik
c92abba2bb Refactor compilation passes (#270)
The overarching goal is to refactor all passes so they are module-scoped and not function-scoped. Additionally, make improvements to the most egregiously buggy/unfit passes (so the code is ready for the next major features: linking, ftz handling) and continue adding more code to the LLVM backend
2024-09-23 16:33:46 +02:00
Andrzej Janik
46def3e7e0 Connect new parser to LLVM bitcode backend (#269)
This is very incomplete. Just enough code to emit LLVM bitcode and continue further development
2024-09-13 01:07:31 +02:00
Andrzej Janik
193eb29be8 PTX parser rewrite (#267)
Replaces traditional LALRPOP-based parser with winnow-based parser to handle out-of-order instruction modifer. Generate instruction type and instruction visitor from a macro instead of writing by hand. Add separate compilation path using the new parser that only works in tests for now
2024-09-04 15:47:42 +02:00
Andrzej Janik
872054ae40 Fix linguist instructions 2024-08-07 13:29:03 +02:00
Andrzej Janik
90a1f77891 Update README 2024-08-06 16:32:23 +02:00
Andrzej Janik
164c172236 Clean up ZLUDA redirection helper 2022-02-04 14:14:51 +01:00
Andrzej Janik
2753d956df Overhaul DLL injection 2022-02-04 00:50:25 +01:00
Andrzej Janik
c869a0d611 Add tests for injecting into CLR process 2022-02-03 12:28:42 +01:00
Andrzej Janik
9923a36b76 Redo DLL injection 2022-02-01 23:57:36 +01:00
Andrzej Janik
89bc40618b Implement static typing for dynamically-loaded CUDA DLLs 2022-01-28 16:44:46 +01:00
Andrzej Janik
07aa1103aa Add OGL interop to cuda proc macros 2022-01-26 11:32:20 +01:00
Andrzej Janik
6f76c8b34c Fix crash when printing arrays 2022-01-08 18:44:59 +01:00
Andrzej Janik
2e56871643 Fix luid printing 2022-01-08 00:33:26 +01:00
Andrzej Janik
869efbe0e2 Move zluda_dump to the new CUDA infrastructure 2022-01-07 04:20:33 +01:00
Andrzej Janik
9390db962b Start converting everything to the new log formatting 2021-12-20 09:35:13 +01:00
Andrzej Janik
bdcef897cc Start converting zluda_dump logging to provide more detailed 2021-12-19 01:18:03 +01:00
Andrzej Janik
971951bc9e Improve reporting of recovered unrecognized statement/directive 2021-12-14 00:02:23 +01:00
Andrzej Janik
0ca14d740f Better reporting of unrecognized tokens 2021-12-13 22:25:26 +01:00
Andrzej Janik
7ba1586d6c Make all user errors recoverable 2021-12-13 17:20:06 +01:00
Andrzej Janik
04dbafaf4a Fix typo 2021-12-08 00:39:08 +01:00
Andrzej Janik
50e793e869 Improve logging of dumps 2021-12-08 00:29:00 +01:00
Andrzej Janik
dd915688bd Dump function names and allow overriding result of cuDeviceComputeCapability 2021-12-06 23:54:47 +01:00
Andrzej Janik
2c6d7ffb7a Fix remaining issues with detouring nvcuda 2021-12-05 23:01:46 +01:00
Andrzej Janik
26bf0eeaf2 Add more tests for CUDA redirection 2021-12-02 23:47:37 +01:00
Andrzej Janik
400feaf015 Add test for injecting app that directly uses nvcuda 2021-12-01 23:08:07 +01:00
Andrzej Janik
fd1c13560f Add failing test for overriding directly linked CUDA dll 2021-11-30 01:25:51 +01:00
Andrzej Janik
3558a0a65c Add integration tests for injector 2021-11-28 23:51:41 +01:00
Andrzej Janik
0104814ac3 Refactor ZLUDA redirection 2021-11-27 14:33:04 +01:00
Andrzej Janik
a125b0746f Do full dumping from dark api module creation 2021-11-21 02:23:01 +01:00
Andrzej Janik
2cb5960a18 Add missing file 2021-11-16 02:08:14 +01:00
Andrzej Janik
24e100cb9c Start converting cuModuleLoad to the new tracing infrastructure 2021-11-16 02:07:50 +01:00
Andrzej Janik
e459086c5b Now dump function calls 2021-11-14 02:25:51 +01:00
Andrzej Janik
dd7ced8b37 Create proper logging infrastructure 2021-11-12 00:31:40 +01:00
Andrzej Janik
816365e7df Fix shared munging pass and add fix cuModuleLoadData 2021-09-29 21:49:47 +00:00
Andrzej Janik
0172dc58e5 Redo shared memory transformation 2021-09-29 02:24:32 +02:00
Andrzej Janik
b763415006 Add CUDA tests showing problems with .shared unification 2021-09-27 00:42:10 +02:00
Andrzej Janik
c23be576e8 Finish fixing shared memory pass 2021-09-26 01:24:14 +02:00
Andrzej Janik
370c0bd09e Start implementing .shared unification 2021-09-24 01:31:50 +02:00
Andrzej Janik
9609f86033 Fix minor bugs 2021-09-19 00:39:43 +00:00
Andrzej Janik
afe9120868 Fix linkage 2021-09-18 22:49:00 +00:00
Andrzej Janik
04a411fe22 Have an implementation for vprintf 2021-09-18 20:22:47 +00:00
Andrzej Janik
ccf3c02ac1 Minor fixes 2021-09-18 01:36:12 +00:00
Andrzej Janik
3de01b3f8b Handle ld.volatile/st.volatile 2021-09-17 21:26:15 +00:00
Andrzej Janik
d5a4b068dd Redo handling of sregs 2021-09-17 20:53:44 +00:00
Andrzej Janik
6ef19d6501 Add early support for more sregs 2021-09-17 18:31:12 +00:00