Skip to content
This repository was archived by the owner on Mar 1, 2025. It is now read-only.

Halide backward and forward pass #116

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Halide backward and forward pass #116

wants to merge 2 commits into from

Conversation

mpmisko
Copy link
Contributor

@mpmisko mpmisko commented Aug 23, 2019

Implementation of the forward and backward passes in Halide. The schedule is created using Halide's auto scheduler.

Apart from this, the PR also vectorises the addition post processing function when AVX is present.

To use Halide for example in a forward pass, one would have to first call the singleton HalideMulFactory to obtain the operation as

const HalideMulForward &mul = HalideMulFactory::getInstance().getHalideMulForward(ip, op, groups, false);

and then call the multiplication function as

mul.execute(input_features.data<T>(), d_output_features.data<T>(), &r[0], w.data<T>(), dw.data<T>(), d_input_rows.data<T>(), nActive);

to exectute the desired matrix multiplication.

@mpmisko mpmisko force-pushed the halide-impl branch 4 times, most recently from e414baa to 3f34b5f Compare September 2, 2019 15:33
@mpmisko mpmisko force-pushed the halide-impl branch 2 times, most recently from 3ddf301 to 521eb0d Compare September 4, 2019 08:46
@facebook-github-bot
Copy link

Thank you for your pull request. We require contributors to sign our Contributor License Agreement, and yours has expired.

Before we can review or merge your code, we need you to email [email protected] with your details so we can update your status.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants