• Edited

We are trying to realize the following example when we could actually communicate with ARTIQ by ping and acquiring device log through artiq_coremgmt.

from artiq.experiment import *

class LED(EnvExperiment):
    def build(self):
        self.setattr_device("core")
        self.setattr_device("led0")`

    @kernel
    def run(self):
        self.core.reset()
        self.led0.on()

and we met the problem:
AttributeError: 'IntType' object has no attribute '_get_ll_pointer_type'

How may I solve this problem?

  • Edited

full exception report are followed:
Traceback (most recent call last):
File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/transforms/llvm_ir_generator.p
y", line 34, in memoized
return self.cache[key]

KeyError: (<function ABILayoutInfo.get_size_align at 0x0000018d4a2d59e0>, <<class 'llvmlite.ir.types
.IntType'> i64>)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\msys64\clang64\bin\artiq_run-script.py", line 33, in <module>
    sys.exit(load_entry_point('artiq==8.8999+37a41b2', 'console_scripts', 'artiq_run')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/frontend/artiq_run.py", line 269, in ma
in
    return run(with_file=True)
           ^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/frontend/artiq_run.py", line 253, in ru
n
    raise exn
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/frontend/artiq_run.py", line 245, in ru
n
    exp_inst.run()
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/language/core.py", line 54, in run_on_c
ore
    return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/coredevice/core.py", line 170, in run
    self.compile(function, args, kwargs, set_result)
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/coredevice/core.py", line 145, in compi
le
    library = target.compile_and_link([module])
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/targets.py", line 205, in comp
ile_and_link
    return self.link([self.assemble(self.compile(module)) for module in modules])
                                    ^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/targets.py", line 156, in comp
ile
    llmod = module.build_llvm_ir(self)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/module.py", line 92, in build_
llvm_ir
    llvm_ir_generator = transforms.LLVMIRGenerator(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/transforms/llvm_ir_generator.p
y", line 184, in __init__
    self.max_target_alignment = max(map(
                                ^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/transforms/llvm_ir_generator.p
y", line 185, in <lambda>
    lambda t: self.abi_layout_info.get_size_align(t)[1],
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/transforms/llvm_ir_generator.p
y", line 36, in memoized
    result = generator(self, *args)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "D:/msys64/clang64/lib/python3.12/site-packages/artiq/compiler/transforms/llvm_ir_generator.p
y", line 149, in get_size_align
    lowered = llty._get_ll_pointer_type(self.lldatalayout, self.llcontext)
              ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IntType' object has no attribute '_get_ll_pointer_type'