David Mak derppening
  • Joined on 2023-08-31
derppening created pull request M-Labs/nac3#609 2025-04-22 14:27:05 +08:00
More fixes towards module support
derppening created branch fix/596 in M-Labs/nac3 2025-04-22 14:25:25 +08:00
derppening pushed to fix/596 at M-Labs/nac3 2025-04-22 14:25:25 +08:00
8031e9143c [artiq] Use import module as in demo_import_mod.py
03be4697c5 [artiq] Add envvar for outputting LLVM bitcode/IR
6328e1e740 [standalone] Split --emit-llvm into --emit-llvm-{bc,ir}
0e61c9f658 [artiq] Add better error messages when key not found in builtins
983017a693 [artiq] Fix builtin mapping keys
Compare 6 commits »
derppening commented on pull request M-Labs/nac3#600 2025-04-22 10:53:45 +08:00
Fix module support

Because sometimes the __name__ and the class name does not match, e.g. np.bool_.__name__ == 'bool'.

derppening commented on pull request M-Labs/nac3#600 2025-04-17 09:14:15 +08:00
Fix module support

Investigate if we can drop Kernel/KernelInvariant checks from composer.rs

Currently, nac3core has to perform a check on all type-annotated global variables to unpack (e.g.) Kernel[int]

derppening commented on pull request M-Labs/nac3#600 2025-04-16 19:53:25 +08:00
Fix module support

Done:

  • All builtins IDs are retrieved by the artiq_builtins parameter.
  • Verified that Kernel variables are stored in-memory, and KernelInvariant variables are inlined as…
derppening pushed to fix/596 at M-Labs/nac3 2025-04-16 19:45:50 +08:00
fda5f854b7 [artiq] Simplify compilation code
a4e0511cfa [artiq] Match Kernel/KernelInvariant annotation by id
4de04a1a74 [artiq] Refactor builtins structure
Compare 3 commits »
derppening pushed to fix/596 at M-Labs/nac3 2025-04-15 17:59:39 +08:00
1f49451222 [artiq] Ignore global variables with non-{Kernel,KernelInvariant} types
da7d9af259 [standalone] Dump IR as well, post-opt bitcode/IR
9885360e6d [artiq] Simplify compilation code
6a63262d38 [artiq] Match Kernel/KernelInvariant annotation by id
614145bb2e [DO NOT MERGE] [artiq] Refactor builtins structure
Compare 23 commits »
derppening commented on pull request M-Labs/nac3#606 2025-04-14 15:44:54 +08:00
Implement memory corruption check for nested tuples

Then please investigate why the current logic doesn't work first. The changes you propose to me seem to just be a workaround.

derppening commented on pull request M-Labs/nac3#606 2025-04-14 15:26:14 +08:00
Implement memory corruption check for nested tuples

Just a thought: Is nac3artiq compiled with no-escape-analysis or not?

derppening suggested changes for M-Labs/nac3#606 2025-04-14 15:22:00 +08:00
Implement memory corruption check for nested tuples

I don't think this is the proper way to fix this, since supposedly the recursive call to check_return_value_ty is correct.

derppening commented on pull request M-Labs/nac3#600 2025-04-07 14:29:19 +08:00
Fix module support

After some internal discussion with @sb10q, we agree that the following changes need to be made to this PR:

  1. Enforce Kernel and KernelInvariant globals to be mutable and immutable…
derppening commented on pull request M-Labs/nac3#600 2025-04-07 13:35:37 +08:00
Fix module support

I think I will look into making these changes next week, since I am currently busy with some other stuff and the proposed changes seem to significantly alter the way I should implement these (and…

derppening commented on pull request M-Labs/nac3#600 2025-04-07 11:24:46 +08:00
Fix module support

I think I actually need clarification on this.

As I understand it, when Kernel and KernelInvariant is used as the type of a field within a @nac3 class, it indicates that the fields should…

derppening commented on pull request M-Labs/nac3#600 2025-04-07 10:47:55 +08:00
Fix module support

Not as far as I know, no. But I believe that if Kernel is supported, then by extension KernelInvariant should be supported as an annotation as well.

derppening pushed to fix/596 at M-Labs/nac3 2025-04-02 12:11:40 +08:00
derppening pushed to fix/596 at M-Labs/nac3 2025-03-28 14:52:03 +08:00
87e7b21876 WIP: Allow all globals in compiled programs
197f750fca [artiq] Add test and update min_artiq
284a346c8a [artiq] symbol_resolver: Fallback to variable resolver if not found
aa146d4911 [core] expr: Return None if get_attr_index cannot find field with id
4ed1d4243e [artiq] symbol_resolver: Add support for resolving symbols in modules
Compare 11 commits »
derppening pushed to misc/impl-tracert at M-Labs/nac3 2025-03-28 10:10:09 +08:00
b9c38c7445 [core] Add tracer runtime
derppening pushed to misc/impl-tracert at M-Labs/nac3 2025-03-28 10:02:41 +08:00
9dba832d75 [core] Add tracer runtime
f5285fbf7f [artiq] Bump PyO3 to 0.24
b82926297b [artiq] Bump PyO3 to 0.23
8142e01aeb [artiq] Remove usage of gil-refs feature
e8c967cc29 [artiq] Remove all usages of deprecated APIs
Compare 62 commits »
derppening created pull request M-Labs/nac3#600 2025-03-27 16:22:06 +08:00
WIP: Fix module support