xref: /petsc/config/examples/arch-ci-linux-cuda-double-64idx.py (revision ea9ee2c1d69c9e3cf6d2b3c8a205b9880d3dba39)
1df3bd252SSatish Balay#!/usr/bin/env python3
21738831dSJunchao Zhang
31738831dSJunchao Zhangimport os
41738831dSJunchao Zhangpetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs')
51738831dSJunchao Zhang
61738831dSJunchao Zhangif __name__ == '__main__':
71738831dSJunchao Zhang  import sys
81738831dSJunchao Zhang  import os
91738831dSJunchao Zhang  sys.path.insert(0, os.path.abspath('config'))
101738831dSJunchao Zhang  import configure
111738831dSJunchao Zhang  configure_options = [
121738831dSJunchao Zhang    '--package-prefix-hash='+petsc_hash_pkgs,
131738831dSJunchao Zhang    '--with-make-test-np=2',
142455c87eSSatish Balay    '--download-openmpi=1',
15*ea9ee2c1SPierre Jolivet    '--download-hypre=1',
16931c445bSPierre Jolivet    '--download-hwloc=1',
171738831dSJunchao Zhang    'COPTFLAGS=-g -O',
181738831dSJunchao Zhang    'FOPTFLAGS=-g -O',
191738831dSJunchao Zhang    'CXXOPTFLAGS=-g -O',
201738831dSJunchao Zhang    '--with-64-bit-indices=1',
21d460d7bfSJunchao Zhang    '--with-cudac=nvcc', # nvcc-12.1 via ccache
22d460d7bfSJunchao Zhang    '--with-cuda-dir=/usr/local/cuda-12.1',
231738831dSJunchao Zhang    '--with-precision=double',
241738831dSJunchao Zhang    '--with-clanguage=c',
251738831dSJunchao Zhang    # Note: If using nvcc with a host compiler other than the CUDA SDK default for your platform (GCC on Linux, clang
261738831dSJunchao Zhang    # on Mac OS X, MSVC on Windows), you must set -ccbin appropriately in CUDAFLAGS, as in the example for PGI below:
271738831dSJunchao Zhang    # 'CUDAFLAGS=-ccbin pgc++',
281799f91dSJunchao Zhang    '--with-strict-petscerrorcode',
2941baa1e4SJacob Faibussowitsch    '--with-coverage',
301738831dSJunchao Zhang  ]
311738831dSJunchao Zhang
321738831dSJunchao Zhang  configure.petsc_configure(configure_options)
33