Skip to content

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

Merged
boegel merged 4 commits intoeasybuilders:developfrom
ComputeCanada:fix-oneapi-dpcpp
Jul 2, 2021
Merged

Fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers#2457
boegel merged 4 commits intoeasybuilders:developfrom
ComputeCanada:fix-oneapi-dpcpp

Conversation

@bartoldeman
Copy link
Copy Markdown
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
Comment thread easybuild/easyblocks/i/intel_compilers.py Outdated
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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