Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake / CI additions #497

Merged
merged 7 commits into from
Mar 25, 2023
Merged

CMake / CI additions #497

merged 7 commits into from
Mar 25, 2023

Conversation

anzz1
Copy link
Contributor

@anzz1 anzz1 commented Mar 25, 2023

Edit: everything should be done now.

@anzz1 anzz1 added enhancement New feature or request build Compilation issues labels Mar 25, 2023
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be better for the builds to be different tasks, in a job. like Test and Build are different. That way you could see which failed without digging into the log. Also, the log would be chaotic and you would not know here in the log which config is used on first glance.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that too first but then thought to think ahead that if every combination of every platform and compiler flag is each their own step it will quickly be a mess. If there is a code error you'll probably hit it anyway on the first build and the rare case of failing because of the AVX2/AVX/AVX512 flags you would anyway need to dig through the logs to see what happened.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm I am not fully convinced. we should wait on a third opinion.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am also probably going to setup a build matrix #468 (comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tbh I'm not certain about my decision anymore 😄
Let's have another opinion.

Basically it boils down to "Build" , "Test" with all the logs concatenated to one log
versus "Build (AVX2)", "Build (AVX)", "Build (AVX512)" and their Test counterparts with own logs.

Both seems good options tho. I'll change it if "option 2" gets a second vote.

Copy link
Contributor Author

@anzz1 anzz1 Mar 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am also probably going to setup a build matrix #468 (comment)

I would suggest against it, my experiences with gh ci build matrixes are that they are inflexible, harder to configure and prone to bugs. Unless the amount of platforms and compiler options grows to such an substantial amount that maintaining it via the regular granular way becomes so hard that makes it absolutely necessary, I would avoid it at all costs.

edit:
following ur link and checked the whisper.cpp implementation, use of build matrix in that kind of simple step instance is perfectly fine. i was warning about the bad approach of wrapping the whole ci build script in a build matrix like some projects do and then end up doing all sort of special if-cases inside it.

maybe it would be indeed good to use such matrix in both cases (this and #468) .

Copy link
Contributor Author

@anzz1 anzz1 Mar 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about now? it looks cleaner tbh, it can be little slower tho if the runners are slow to spawn

@anzz1 anzz1 requested a review from Green-Sky March 25, 2023 16:54
@anzz1 anzz1 marked this pull request as draft March 25, 2023 17:06
@anzz1
Copy link
Contributor Author

anzz1 commented Mar 25, 2023

Looks like sanitizer is catching some memory leaks originating from some STL funcs : https://github.com/ggerganov/llama.cpp/actions/runs/4520886595/jobs/7962284415?pr=497

@anzz1 anzz1 marked this pull request as ready for review March 25, 2023 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Compilation issues enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants