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

Add externals for Alpaka and Cupla #5568

Merged

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Feb 18, 2020

The alpaka library is a header-only C++14 abstraction library for accelerator development. Its aim is to provide performance portability across accelerators through the abstraction of the underlying levels of parallelism.

Cupla is a simple user interface for the platform independent parallel kernel acceleration library alpaka.

Add externals and scram tools for alpaka 0.4.0 and cupla 0.2.0.

@fwyzard
Copy link
Contributor Author

fwyzard commented Feb 18, 2020

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 18, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/4744/console Started: 2020/02/18 17:56

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @fwyzard (Andrea Bocci) for branch IB/CMSSW_11_1_X/master.

@cmsbuild, @smuzaffar, @mrodozov, @tulamor can you please review it and eventually sign? Thanks.
cms-bot commands are listed here

cupla.spec Outdated

CXXFLAGS="-m64 -std=c++14 -g -O3 -DALPAKA_DEBUG=0 -I$CUDA_ROOT/include -I$TBB_ROOT/include -I$BOOST_ROOT/include -I$ALPAKA_ROOT/include -Iinclude"
HOST_FLAGS="-pthread -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-attributes -Wno-reorder -Wno-sign-compare"
NVCC_FLAGS="-w --generate-line-info --source-in-ptx --cudart=shared --expt-extended-lambda --expt-relaxed-constexpr -gencode arch=compute_35,code=sm_35 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These flags should match those in cuda-toolfile.spec.
@smuzaffar is there any way to make it automatic ?

Copy link
Contributor

Choose a reason for hiding this comment

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

@fwyzard , only automatic way is to put these flags in a separate file e.g. cuda-flags.file and then include that file in both cuda-toolfile and here

## INLCUDE cuda-flags

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Mhm... I see.
However, the way in which the flags are used is a bit different:
in cupla.spec (simplified):

NVCC_FLAGS="--generate-line-info --source-in-ptx --expt-extended-lambda --expt-relaxed-constexpr -gencode arch=compute_35,code=sm_35 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 --cudart=shared"

vs cuda-toolfile.spec (simplified):

  <flags CUDA_FLAGS="--generate-line-info --source-in-ptx --expt-relaxed-constexpr --expt-extended-lambda -gencode arch=compute_35,code=sm_35 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 --cudart=shared "/>

Would it work to define a spec macro in a separate file, e.g. cuda-flags.file

%define cuda_flags -O3 -std=c++14 --expt-relaxed-constexpr --expt-extended-lambda
%define cuda_flags %cuda_flags --generate-line-info --source-in-ptx
%ifarch x86_64 ppc64le
%define cuda_flags %cuda_flags -gencode arch=compute_35,code=sm_35
%define cuda_flags %cuda_flags -gencode arch=compute_60,code=sm_60
%define cuda_flags %cuda_flags -gencode arch=compute_70,code=sm_70
%endif
%ifarch aarch64
%define cuda_flags %cuda_flags -gencode arch=compute_70,code=sm_70
%define cuda_flags %cuda_flags -gencode arch=compute_72,code=sm_72
%endif
%define cuda_flags %cuda_flags --cudart=shared

and then include it with something like

## IMPORT cuda-flags
...
NVCC_FLAGS="%{cuda-flags}"

and

## IMPORT cuda-flags
...
  <flags CUDA_FLAGS="%{cuda-flags}"/>

?

Copy link
Contributor

Choose a reason for hiding this comment

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

yes macro will work

@cmsbuild
Copy link
Contributor

+1
Tested at: a5c099d
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-747f08/4744/summary.html
CMSSW: CMSSW_11_1_X_2020-02-18-1100
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-747f08/4744/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2694086
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2693765
  • DQMHistoTests: Total skipped: 319
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@mrodozov
Copy link
Contributor

mrodozov commented Feb 24, 2020

test parameters:

  • arch = slc7_ppc64le_gcc820

@mrodozov
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 24, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/4833/console Started: 2020/02/24 11:09

@cmsbuild
Copy link
Contributor

+1
Tested at: a5c099d
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-747f08/4833/summary.html
CMSSW: CMSSW_11_1_X_2020-02-23-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Pull request #5568 was updated.

@fwyzard
Copy link
Contributor Author

fwyzard commented Feb 25, 2020

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 25, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/4874/console Started: 2020/02/25 17:22
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/4878/console Started: 2020/02/25 20:22

@cmsbuild
Copy link
Contributor

+1
Tested at: 795ca3e
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-747f08/4878/summary.html
CMSSW: CMSSW_11_1_X_2020-02-25-1100
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@fwyzard
Copy link
Contributor Author

fwyzard commented Feb 25, 2020

@silviodonato @mrodozov from my side this is ready to be merged

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-747f08/4878/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2695371
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2695050
  • DQMHistoTests: Total skipped: 319
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@mrodozov
Copy link
Contributor

+externals

@mrodozov
Copy link
Contributor

unhold

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_11_1_X/master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @silviodonato, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@silviodonato silviodonato changed the title Add externals for Alpala and Cupla Add externals for Alpaka and Cupla Feb 27, 2020
@silviodonato
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit d4ea836 into cms-sw:IB/CMSSW_11_1_X/master Feb 27, 2020
@fwyzard fwyzard deleted the add_Alpala_Cupla_externals branch April 16, 2020 13:12
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

6 participants