Skip to content

[cpp] update hwy to v1.2.0#163

Open
immanuelazn wants to merge 1 commit intobnprks:mainfrom
immanuelazn:ia/highway1.2.0-update
Open

[cpp] update hwy to v1.2.0#163
immanuelazn wants to merge 1 commit intobnprks:mainfrom
immanuelazn:ia/highway1.2.0-update

Conversation

@immanuelazn
Copy link
Collaborator

@immanuelazn immanuelazn commented Nov 25, 2024

Details

The new highway updates allow for templating of functions, which could potentially allow us to de-dupe some of our math code that is written with multiple types (see cpp/simd/math*)

Writing code with templates can be done following the example in hwy/highway.h

Overall, creation of the new updated dir was following the instructions written in manual-build. I followed the same changes that were done, including removing some folders that we weren't directly calling on (random, thread_pool, mat_vec), however if the functions are deemed useful then we can definitely add them back in. I also updated build_highway.sh to reflect the changes in .cc and .h files in the hwy root and ops directory.

@bnprks
Copy link
Owner

bnprks commented Nov 26, 2024

Yeah, it seems like a good idea to update since hwy is making steady improvements. I think there are two bits I'd like to nail down:

  1. Precisely which commit form the highway repo is this updating to? From running some diffs it doesn't appear to be the commit tagged 1.2.0 in highway's repo. We don't necessarily need a tagged version, but do need at least a commit hash so it's clear exactly where the code came from.

  2. I'd like to make sure the updates to build_highway.sh are informed by a diff of highway's CMakeLists.txt between 1.0.5 and this version.

    • The goal is to try to keep build_highway.sh maintaining some correspondence to the latest CMakeLists.txt so we are adding the same compiler flags Highway does.
    • We can look at this together if you like. I don't think there are that many changes to consider but it's always challenging to parse through a big cmake build file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants