|
2d275949b8
|
move tests from artiq to standalone
|
2025-01-17 13:10:35 +08:00 |
|
|
2783834cb1
|
nac3artiq/demo: merge EmbeddingMap into min_artiq
|
2025-01-17 12:45:51 +08:00 |
|
|
879b063968
|
[artiq] add tests for module support
|
2025-01-16 12:42:13 +08:00 |
|
|
5fdbc34b43
|
[core] implement codegen for modules
|
2025-01-16 12:40:56 +08:00 |
|
|
32f24261f2
|
[artiq] add global variables to modules
|
2025-01-16 12:40:14 +08:00 |
|
|
f15a64cc1b
|
[artiq] register modules
|
2025-01-16 11:13:04 +08:00 |
|
|
7fac801936
|
[artiq] add module primitive type
|
2025-01-16 11:13:04 +08:00 |
|
|
febfd1241d
|
[core] add module type
|
2025-01-16 11:13:04 +08:00 |
|
|
8e614d83de
|
[core] codegen: Add ProxyType::new overloads and refactor to use them
|
2025-01-15 13:23:19 +08:00 |
|
|
bd66fe48d8
|
[core] codegen: Refactor to use CodeGenContext::get_size_type
Simplifies a lot of API usage.
|
2025-01-15 13:23:19 +08:00 |
|
|
c59fd286ff
|
[artiq] Move get_llvm_* to Isa, use TargetMachine to infer size_t
|
2025-01-15 13:23:19 +08:00 |
|
|
d1dcfa19ff
|
CodeGenerator: Add with_target_machine factory function
Allows creating CodeGenerator with the LLVM target machine to infer the
expected type for size_t.
|
2025-01-13 14:55:33 +08:00 |
|
|
8baf111734
|
[meta] Apply clippy suggestions
|
2025-01-06 17:11:31 +08:00 |
|
|
eaaa194a87
|
[artiq] symbol_resolver: Cast ndarray.{shape,strides} globals to usize*
This is needed as ndarray.{shapes,strides} are ArrayValues, and so a GEP
operation is required to convert them into pointers to their first
elements.
|
2025-01-06 16:53:33 +08:00 |
|
|
352c7c880b
|
[artiq] symbol_resolver: Fix incorrect global type for ndarray.strides
|
2025-01-06 16:53:33 +08:00 |
|
|
3c5e247195
|
[artiq] symbol_resolver: Use TargetData to get size of dtype
dtype.size_of() may not return a constant value.
|
2025-01-06 16:53:33 +08:00 |
|
|
4e21def1a0
|
[artiq] symbol_resolver: Add missing promotion for host compilation
Shape tuple is always in i32, so a zero-extension to i64 is
necessary when assigning the shape tuple into the shape field of the
ndarray.
|
2025-01-06 16:53:33 +08:00 |
|
|
d9c180ed13
|
[artiq] symbol_resolver: Fix support for np.bool_ -> bool decay
|
2025-01-06 16:53:33 +08:00 |
|
|
12fddc3533
|
[core] codegen/ndarray: Make ndims non-optional
Now that everything is ported to use strided impl, dynamic-ndim ndarray
instances do not exist anymore.
|
2025-01-03 15:43:08 +08:00 |
|
|
8b3429d62a
|
[artiq] Reimplement get_obj_value for strided ndarray
Based on 7ef93472: artiq: reimplement get_obj_value to use ndarray with
strides
|
2024-12-13 15:23:31 +08:00 |
|
|
f4c5038b95
|
[artiq] codegen: Reimplement polymorphic_print for strided ndarray
Based on 2a6ee503: artiq: reimplement polymorphic_print for ndarray
|
2024-12-13 15:23:31 +08:00 |
|
|
44c49dc102
|
[artiq] codegen: Reimplement polymorphic_print for strided ndarray
Based on 2a6ee503: artiq: reimplement polymorphic_print for ndarray
|
2024-12-13 15:23:31 +08:00 |
|
|
44498f22f6
|
[core] codegen: Implement NDArray functions from a0a1f35b
|
2024-12-13 15:22:11 +08:00 |
|
|
08a7d01a13
|
[core] Add itemsize and strides to NDArray struct
Temporarily disable linalg ndarray tests as they are not ported to work
with strided-ndarray.
|
2024-12-13 15:22:09 +08:00 |
|
|
aa293b6bea
|
[core] codegen: Add type_aligned_alloca
|
2024-12-12 11:30:35 +08:00 |
|
|
eb4b881690
|
[core] Expose {types,values}::ndarray modules
Allows better encapsulation of members in these modules rather than
allowing them to leak into types/values mod.
|
2024-12-12 11:30:14 +08:00 |
|
|
3d0a1d281c
|
[core] Expose irrt::ndarray
|
2024-12-10 12:49:49 +08:00 |
|
|
06092ad29b
|
[core] Move alloca and map_value of ProxyType to implementations
These functions may not be invokable by the same set of parameters as
some classes has associated states.
|
2024-12-09 12:51:50 +08:00 |
|
|
ac978864f2
|
[meta] Apply clippy suggestions
|
2024-12-09 12:08:41 +08:00 |
|
|
964945d244
|
string_store: update embedding map after compilation
|
2024-12-03 16:45:46 +08:00 |
|
|
ae09a0d444
|
exceptions: preallocate in NAC3 instead
|
2024-12-03 16:45:05 +08:00 |
|
|
0c9705f5f1
|
[meta] Apply clippy changes
|
2024-11-25 16:05:12 +08:00 |
|
|
5f940f86d9
|
[artiq] Fix obtaining ndarray struct from NDArrayType
|
2024-11-25 15:01:39 +08:00 |
|
|
e0dedc6580
|
nac3artiq: support kernels sent by content
|
2024-11-22 19:38:52 +08:00 |
|
|
144f0922db
|
[core] coregen/types: Implement StructFields for NDArray
Also rename some fields to better align with their naming in numpy.
|
2024-11-21 14:27:00 +08:00 |
|
|
c58ce9c3a9
|
[core] codegen/types: Implement NDArray in terms of i8*
Better aligns with the future implementation of ndstrides.
|
2024-11-21 14:27:00 +08:00 |
|
|
a4f53b6e6b
|
[core] codegen: Refactor ProxyType and ProxyValue
Accepts generator+context object for generic type checking. Also
implements more default trait impl for easier delegation.
|
2024-11-19 13:46:25 +08:00 |
|
|
9d9ead211e
|
[core] Move Proxies to their own modules
|
2024-11-19 13:46:23 +08:00 |
|
|
26a1b85206
|
[core] codegen/classes: Remove Underlying type
This is confusing and we want a better abstraction than this.
|
2024-11-19 13:45:55 +08:00 |
|
|
2822074b2d
|
[meta] Cleanup from upgrading Rust version
- Remove rust_2024_edition warnings, since it wouldn't be released for
another 3 months
- Fix new clippy warnings
|
2024-11-19 13:43:57 +08:00 |
|
|
2cee760404
|
turn rust_2024_compatibility lints into warnings
|
2024-11-16 13:41:49 +08:00 |
|
|
b53266e9e6
|
artiq: use async RPC for attributes writeback
|
2024-11-12 12:04:01 +08:00 |
|
|
86eb22bbf3
|
artiq: main is always the last module
|
2024-11-12 12:03:38 +08:00 |
|
|
beaa38047d
|
artiq: suppress main module debug warning
|
2024-11-12 12:03:08 +08:00 |
|
|
705dc4ff1c
|
artiq: lump return value into attributes writeback RPC
|
2024-11-12 12:02:35 +08:00 |
|
|
45cd01556b
|
[meta] Apply cargo fmt
|
2024-10-18 14:16:42 +08:00 |
|
|
b6cd2a6993
|
[meta] Reorganize order of use declarations - Phase 3
|
2024-10-17 16:25:52 +08:00 |
|
|
a98f33e6d1
|
[meta] Reorganize order of use declarations - Phase 2
Some more rules:
- For module-level imports, prefer no prefix > super > crate.
- Use crate instead of super if super refers to the crate-level module
|
2024-10-17 15:57:33 +08:00 |
|
|
9fdbe9695d
|
[core] Add generator to SymbolResolver::get_symbol_value
Needed in a future commit.
|
2024-10-04 13:20:29 +08:00 |
|
|
c7697606e1
|
[core] Add TopLevelDef::Variable
|
2024-10-04 13:09:25 +08:00 |
|