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

[REQUEST] How can one specify the CPU architecture to target. #5451

Open
etiennemlb opened this issue Apr 23, 2024 · 2 comments
Open

[REQUEST] How can one specify the CPU architecture to target. #5451

etiennemlb opened this issue Apr 23, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@etiennemlb
Copy link

Is your feature request related to a problem? Please describe.
I work on a supercomputer where there is login and compute nodes. This architecture is typical in the HPC world.
Login nodes are where you land with ssh and often where you compile, prepare your environment and launch compute task (via SLURM).
There is no guarantee that the login node offers the same GPUs (if any) and CPUs than the one you'll find on the compute node.

How can one specify the CPU architecture with which we want to build the CPU ops.
There already is PYTORCH_ROCM_ARCH for the GPUs, Id say we need something for CPU too instead of the march=native.

@etiennemlb etiennemlb added the enhancement New feature or request label Apr 23, 2024
@loadams
Copy link
Contributor

loadams commented Apr 23, 2024

@etiennemlb - are you able to use JIT compile, that would then use the arch on the compute nodes? Or do you need to prebuild the ops for some reason?

@etiennemlb
Copy link
Author

Clearly, I could, and will use the "JIT" method.

Note that I used prebuilt DS and megatron was failing somewhere when it was looking for the prebuilt ops. And it was crashing "hard" no warning, no error, just a -4 return code.

If this march=native has stood the test of time, it probably means I'm an outlier, but at least, I'd like a warning telling me I'm running on an architecture that has less "affordance" when it comes to architectural SIMD extensions. And preferably, a injection point to specify which arch I'd like to build for.

Compiling on compute node is also seen as a bad practice and software that rely on march=native, seen as footgun because it breaks easily and complicates things on heterogeneous clusters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants