You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update on "Fix SLEEF preprocessor macro name to match ATen vec headers"
The ATen NEON vectorized math headers (vec128_float_neon.h) check for
AT_BUILD_ARM_VEC256_WITH_SLEEF to enable SLEEF intrinsics for exp(),
log(), etc. ExecuTorch's get_vec_preprocessor_flags() was defining
ET_BUILD_ARM_VEC256_WITH_SLEEF (wrong prefix), so the USE_SLEEF macro
always took the fallback path: map(std::exp) — scalar exp called
per-element with full vector load/store overhead wrapping it.
With this fix, Vectorized<float>::exp() correctly dispatches to
Sleef_expf4_u10 on ARM, which is the intended behavior.
Differential Revision: [D96044314](https://our.internmc.facebook.com/intern/diff/D96044314/)
[ghstack-poisoned]
Copy file name to clipboardExpand all lines: backends/arm/scripts/run_fvp.sh
+50-3Lines changed: 50 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ _setup_msg="please refer to ${et_root_dir}/examples/arm/setup.sh to properly ins
19
19
20
20
elf_file=""
21
21
data_file=""
22
+
bundle_file=""
22
23
target="ethos-u55-128"
23
24
timeout="600"
24
25
etrecord_file=""
@@ -29,6 +30,7 @@ help() {
29
30
echo"Options:"
30
31
echo" --elf=<ELF_FILE> elf file to run"
31
32
echo" --data=<FILE>@<ADDRESS> Place a file in memory at this address, useful to emulate a PTE flashed into memory instead as part of the code."
33
+
echo" --bundle=<BPTE_FILE> Bundled program (.bpte) to load via semihosting. Required for cortex-m targets; the FVP launches a semihosting executor_runner that reads the bundle from the host filesystem and checks the embedded reference outputs."
32
34
echo" --target=<TARGET> Target to build and run for Default: ${target}"
33
35
echo" --timeout=<TIME_IN_SEC> Maximum target runtime, used to detect hanging, might need to be higer on large models Default: ${timeout}"
34
36
echo" --etrecord=<FILE> If ETDump is used you can supply a ETRecord file matching the PTE"
@@ -41,6 +43,7 @@ for arg in "$@"; do
41
43
-h|--help) help ;;
42
44
--elf=*) elf_file="${arg#*=}";;
43
45
--data=*) data_file="--data ${arg#*=}";;
46
+
--bundle=*) bundle_file="${arg#*=}";;
44
47
--target=*) target="${arg#*=}";;
45
48
--timeout=*) timeout="${arg#*=}";;
46
49
--etrecord=*) etrecord_file="${arg#*=}";;
@@ -52,7 +55,9 @@ done
52
55
53
56
elf_file=$(realpath ${elf_file})
54
57
55
-
if [[ ${target}==*"ethos-u55"* ]];then
58
+
# cortex-m55 is the only Cortex-M CPU on the Corstone-300 board today;
59
+
# cortex-m85 lives on Corstone-320, so it falls through to the SSE-320 FVP.
60
+
if [[ ${target}==*"ethos-u55"*||${target}== cortex-m55* ]];then
0 commit comments