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

Fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers #2457

Merged
merged 4 commits into from
Jul 2, 2021

Conversation

bartoldeman
Copy link
Contributor

First of all the OpenCL runtime needs to be aware of the CPU-only shared object via OCL_ICD_FILENAMES -> libintelocl.so
The module also needs to set TBB-related variables (the same ones as the old iccifort modules), since the above object links to TBB.

This can be tested using e.g. saxpy from
https://github.com/jeffhammond/dpcpp-tutorial

I haven't tested dpcpp on FPGAs, nor on Intel GPUs (though I can try the one on my laptop, an Intel Corporation UHD Graphics 620 chip).

NVidia GPUs are not supported.

This is needed to run dpcpp-compiled executables on CPUs
TBB is also an internal dependency for the OpenCL shared objects.
@bartoldeman bartoldeman added this to the next release (4.4.1) milestone Jun 3, 2021
@boegel boegel changed the title Fix CPU-only runtime for dpcpp-generated executables Fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers Jun 9, 2021
easybuild/easyblocks/i/intel_compilers.py Outdated Show resolved Hide resolved
1. Use get_tbb_gccprefix from tbb easyblock instead of hardcoding
   gcc4.8
2. Resolve 'latest' symlink since the embedded tbb version may be
   different from the compiler version.
@bartoldeman
Copy link
Contributor Author

Test report by @bartoldeman

Overview of tested easyconfigs (in order)

  • SUCCESS intel-compilers-2021.1.2.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
build-node.computecanada.ca - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.7.7
See https://gist.github.com/8d15624e6d4528d9527c309cdd2ec2c6 for a full test report.

@bartoldeman
Copy link
Contributor Author

Test report by @bartoldeman

Overview of tested easyconfigs (in order)

  • SUCCESS intel-compilers-2021.2.0.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
build-node.computecanada.ca - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.7.7
See https://gist.github.com/f7312e80f6b5f11e77bb6ab4dbf9868f for a full test report.

Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

lgtm

@boegel
Copy link
Member

boegel commented Jul 2, 2021

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS intel-compilers-2021.1.2.eb
  • SUCCESS intel-compilers-2021.2.0.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
node3599.doduo.os - Linux RHEL 8.2, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/d672a744689b48b396725345a75d9488 for a full test report.

@boegel boegel dismissed akesandgren’s stale review July 2, 2021 17:46

remark fixed

@boegel boegel merged commit aaa11fb into easybuilders:develop Jul 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants