[PATCH] XCore target: use TEST_TARGET_FLAGS to override target's memory size.
robert lytton
robert at xmos.com
Wed Mar 12 01:48:52 PDT 2014
Hi Daniel,
The default memory map for the xcore tools is 64KB - but it is over-ridden from the command line.
Initially I gave all the tests more than enough memory from the command line - but this requires a lot of memory for the emulator's tables etc,
the tests take a little longer to run due to the need to initialize the tables for memory that will never be used and
this extra initialization of tables would cause thrashing on a machine with only a few GB of memory.
Hence, the default of 32MB (~500MB emulator memory) that I pass in from the command line.
The 32 tests that require more than 32MB have the command line default overwritten individually using TEST_TARGET_FLAGS (one test has the 32MB reduced).
I could reduce the granularity by using 256MB for all of the 'SingleSource/Benchmarks/Polybench/linear-algebra/kernels' tests but this will add substantial overheads to the tests.
An alternative approach would be to add a shim layer between test-suite and the XCore compiler which will have knowledge of the tests it is building... seems a bad idea.
I could add multiple environment variables for various memory sizes and then pick the size required - removing the noise viz:
ifeq ($(ARCH),XCore)
TEST_TARGET_FLAGS += "$(XCORE_256MB)"
endif
I await your thoughts as it is not clear to me the best way forward.
Robert
http://llvm-reviews.chandlerc.com/D3048
More information about the llvm-commits
mailing list