question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Pivoting on target-cpu/arch

See original GitHub issue

We have a couple common generations of CPU above the baseline x86_64 instruction - namely sandybridge and haswell, with AVX and AVX2/BMI/BMI2 respectively.

LLVM-backed languages and GGC 4.9+ all support “x86-64, sandybridge, haswell, native” for the -march/–target-cpu parameters. GCC 4.8 uses alternate identifiers corei7-avx and core-avx2 for those platforms.

These map nicely to MSVC /arch:AVX and /arch:AVX2, which is as granular as MSVC goes.

For now I’m using an extra field in .conan/settings.yml: target_cpu: [x86, x86-64, nehalem, sandybridge, haswell, native], but I need to move this down into the packages I consume as well, if I want to pivot on sandybridge/haswell support.

Has this come up before? Any convention to adopt?

Issue Analytics

  • State:open
  • Created 7 years ago
  • Reactions:3
  • Comments:24 (10 by maintainers)

github_iconTop GitHub Comments

2reactions
lilithcommented, Oct 23, 2017

@fpelliccioni The tool you describe is exactly what I’ve been looking for to validate my binaries. With so many compilers involved in a build it can be very difficult to ensure that an unsupported instruction didn’t sneak in somewhere.

1reaction
lasotecommented, Feb 8, 2018

Are you saying that when I set environment variables in a profile, those environment variables do not affect the hash of any packages built with that profile?

Yes, exactly that. The only things that affect a package ID are the settings, the options and the requirements of the package.

Read more comments on GitHub >

github_iconTop Results From Across the Web

FindCUDA: --target-cpu-architecture no longer supported?
Hello, I was recently trying to cross-compile a third party library that depends on CUDA. I normally prefer to cross-compile using the ...
Read more >
LU Factorization with Partial Pivoting for a Multicore System ...
Abstract—LU factorization with partial pivoting is a canonical numerical procedure and the main component of the High Performance Linpack benchmark.
Read more >
Understanding CPU Microarchitecture to Increase Performance
Alex Blewitt presents the microarchitecture of modern CPUs, showing how misaligned data can cause cache line false sharing, ...
Read more >
unROP: Creating Correct Backtrace from Core Dumps ... - GETD
3.2 Determining the Stack Pivoting Target . ... tacker can inject code onto the stack, the code cannot be interpreted as CPU instructions,....
Read more >
Pivot Painter Tool 2.0 | Unreal Engine 4.27 Documentation
Guide to the Pivot Painter 2.0 MAXScript, which stores model pivot and rotation data within vertices for interactive animation.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found