2017-02-16 5 views
0

Ich möchte Halide für ARM A53 (aarch64) Ziel mit Neon-Vektorisierung verwenden.Unterstützt Halogenid ARMv8 (aarch64) mit Neon?

Aber ich kann nicht herausfinden, wie man Zielobjekt erstellt. Ich kann auch kein Aarch64-Target mit Neon-Funktion in Target.h finden.

Der folgende Code, den ich getestet habe, läuft auf A53-Ziel, aber der generierte Code enthält keine neon Anweisungen.

Target target("arm-64-linux"); // is it right? 
Buffer<uint16_t> input(640,480); 

Var x,y; 
Func brighter("brighter"); 
brighter(x,y) = input(x,y) + 100; 
brighter.estimate(x, 0, 640). 
     estimate(y, 0, 480); 

Pipeline p(brighter); 
p.auto_schedule(target); 
p.compile_to_static_library("./lib_dummy", {input}, "", target); 

Antwort

2

arm-64 ist was Halide für aarch64 verwendet, also ist Ihr Ziel in Ordnung. Um Neon-Anweisungen zu verwenden, müssen Sie etwas vektorisieren. Nicht sicher, ob der Autoscheduler das tut oder nicht (sollte es sein!). Versuchen Sie nicht automatische Planung und stattdessen nur zu sagen:

+0

immer noch nicht sehen die Neon-Anweisungen, auch wenn Sie heller.Vektor verwenden von Auto_schedule(). – junhee

+0

Mein Fehler! Ich suchte Arm 32 Anweisungen anstelle von ARMv8 Anweisungen. Die Binärdatei enthält ARMv8-Anweisungen. – junhee

Verwandte Themen