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

Disable AVX instructions in Agent-NGT #685

Closed
wants to merge 1 commit into from

Conversation

rinx
Copy link
Contributor

@rinx rinx commented Sep 9, 2020

Signed-off-by: Rintaro Okamura rintaro.okamura@gmail.com

Description:

Currently, Agent-NGT requires AVX2 instructions support of the running node.
In this PR, disable AVX2 instructions to run on the nodes that does not support these instructions.

  • use NGT_AVX_DISABLED option to disable AVX instructions

Related Issue:

Nothing.

How Has This Been Tested?:

Nothing

Environment:

  • Go Version: 1.15.1
  • Docker Version: 19.03.8
  • Kubernetes Version: 1.18.2
  • NGT Version: 1.12.1

Types of changes:

  • Bug fix [type/bug]
  • New feature [type/feature]
  • Add tests [type/test]
  • Security related changes [type/security]
  • Add documents [type/documentation]
  • Refactoring [type/refactoring]
  • Update dependencies [type/dependency]
  • Update benchmarks and performances [type/bench]
  • Update CI [type/ci]

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you successfully ran tests with your changes locally?

Checklist:

  • I have read the CONTRIBUTING document.
  • I have checked open Pull Requests for the similar feature or fixes?
  • I have added tests and benchmarks to cover my changes.
  • I have ensured all new and existing tests passed.
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly.

Signed-off-by: Rintaro Okamura <rintaro.okamura@gmail.com>
@pull-assistant
Copy link

pull-assistant bot commented Sep 9, 2020

Score: 1.00

Best reviewed: commit by commit


Optimal code review plan

     🔧 use NGT_AVX_DISABLED option

Powered by Pull Assistant. Last update c8bd02a ... c8bd02a. Read the comment docs.

@vdaas-ci
Copy link
Collaborator

vdaas-ci commented Sep 9, 2020

[CHATOPS:HELP] ChatOps commands.

  • 🙆‍♀️ /approve - approve
  • 💌 /changelog - add changelog comment
  • 🍱 /format - format codes and add licenses
  • /gen-test - generate test codes
  • 🏷️ /label - add labels
  • /rebase - rebase master

@kpango
Copy link
Collaborator

kpango commented Sep 9, 2020

As we discussed, we shouldn't disable the AVX256 instructions for existing users, so we should add another docker tag such as vdaas/vald-agent-ngt:vX.Y.Z-noavx to provide an AVX disabled image.
However, as there are currently no user requests for this, so could you please add it to the issues and add the AVX2 requirements to the current document.

@kpango kpango closed this Sep 9, 2020
@rinx
Copy link
Contributor Author

rinx commented Sep 9, 2020

okay, i'll do it. thanks 👍

@kpango kpango deleted the refactor/build-option/disable-avx-instructions branch October 4, 2020 02:17
@Greg-Tarr
Copy link

How does one disable AVX2 instructions, and at what point in the install process do you do it?

@kpango
Copy link
Collaborator

kpango commented Oct 13, 2020

@Greg-Tarr Hi, thank you for contacting us.
Actually we do not have any AVX2 disabled docker image for amd64, but If you need AVX disabled vald-agent image which can easily build by adding CFLAGS -mno-avx2 to https://github.com/vdaas/vald/blob/master/Makefile#L91

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

Successfully merging this pull request may close these issues.

None yet

4 participants