Xilinx / Xilinx/Vitis-Tutorials

AIE-ML Programming & optimization give me a 2GB (over 12GB) RAM linux on vek280

Open
#477 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.6k
Forks
627
PR merge metrics
No merged PRs in 30d

Description

Hello,

I am contacting you because I try to build & run the following tutorial on vek280: https://github.com/Xilinx/Vitis-Tutorials/tree/2025.1/AI_Engine_Development/AIE-ML/Design_Tutorials/01-AIE-ML-programming-and-optimization

The project compiles well but when I run it on the board, I only have 2GB of memory available on Linux.

Thus, I compared my boot image with the AMD-EDF prebuilt WIC image for vek280 provided here: https://www.xilinx.com/member/forms/download/xef.html?filename=edf-linux-disk-image-amd-cortexa72-common%20versal-vek280-sdt-seg.rootfs-07292043.wic.xz

And this image has 12GB of RAM so it seems that the AIE/PL/HOST process provided in the example is failing at something.

We can see in boot logs that in amd-edf image, there is only 300MB reserved, but on our image there is 10GB reserved.

AMD-EDF BOOT:
[ 0.137708] Memory: 11214824K/12582912K available (16960K kernel code, 1088K rwdata, 4976K rodata, 3136K init, 484K bss, 339448K reserved, 1024000K cma-reserved)

OUR BOOT:
[ 5.157516] Memory: 1271296K/12582912K available (16960K kernel code, 1088K rwdata, 4976K rodata, 3136K init, 484K bss, 10783192K reserved, 524288K cma-reserved)

The device tree seems to be involved in this

AMD-EDF BOOT:
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000600ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000007fffffff]
[ 0.000000] node 0: [mem 0x0000000800000000-0x000000087fffffff]
[ 0.000000] node 0: [mem 0x0000050000000000-0x00000500ffffffff]
[ 0.000000] node 0: [mem 0x0000060000000000-0x00000600ffffffff]

[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000600ffffffff]
[ 0.000000] cma: Reserved 1000 MiB at 0x0000000039600000 on node -1

OUR BOOT:
[ 0.000000] OF: reserved mem: 0x0000000800000000..0x000000087fffffff (2097152 KiB) nomap non-reusable buffer@0
[ 0.000000] OF: reserved mem: 0x0000050000000000..0x00000501ffffffff (8388608 KiB) nomap non-reusable buffer@1

[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000501ffffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000007fffffff]
[ 0.000000] node 0: [mem 0x0000000800000000-0x000000087fffffff]
[ 0.000000] node 0: [mem 0x0000050000000000-0x00000501ffffffff]

[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000501ffffffff]
[ 0.000000] cma: Reserved 512 MiB at 0x000000004be00000 on node -1

Would you have any idea of what should be modified in the tutorial so that tutorial correctly boots with 12GB of RAM ?

(This is the default behavior of the tutorial on our side)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AI_Engine_Development/AIE-ML/Design_Tutorials/01-AIE-ML-programming-and-optimization tutorial and compare its boot image and device-tree configuration with the AMD-EDF VEK280 image. Use the provided boot logs to trace the reserved memory regions. Done means the tutorial boots on the VEK280 with approximately 12GB of RAM available to Linux.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
embedded-iot, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.