Skip to content

Instantly share code, notes, and snippets.

@carlosal1015
Last active December 6, 2023 15:13
Show Gist options
  • Save carlosal1015/0dfb20b96d1ab7464d3b11a2259b744d to your computer and use it in GitHub Desktop.
Save carlosal1015/0dfb20b96d1ab7464d3b11a2259b744d to your computer and use it in GitHub Desktop.
Testing petsc-complex
From e27595cdb44d18fc0c86cce0bdfbeb5189976f84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20Aznar=C3=A1n?= <[email protected]>
Date: Wed, 6 Dec 2023 10:13:04 -0500
Subject: [PATCH] Add support for OpenCL
---
.SRCINFO | 4 +++-
PKGBUILD | 6 ++++--
test_optdepends.sh | 11 +++++++++++
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/.SRCINFO b/.SRCINFO
index ed84d0c..9eda03d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -31,12 +31,14 @@ pkgbase = petsc-complex
optdepends = suitesparse: support for the suitesparse sparse matrix libraries
optdepends = valgrind: support for valgrind to help find memory-management problems in programs
optdepends = libyaml: support for YAML-formatted file
+ optdepends = opencl-headers: support for OpenCL
+ optdepends = ocl-icd: support for OpenCL
provides = petsc=3.20.2
conflicts = petsc
options = staticlibs
source = https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-3.20.2.tar.gz
source = test_optdepends.sh
sha512sums = 16315a0f34982ac5e95d86b6e70d6a47be38b57cc1abf98c368f965cdb569039eaa8ce88447997461656b44fcccbbcf45e8846a9b4245bc942f6f30fc6dd2305
- sha512sums = b943a7add71dcc80fd8a68671398f4d5e70554b5bdba6199c440333ef6bbb4aa02cbdda5ab89f25b72389a5e3151a3c55878c0ad945c2a5769265a5601a0f90e
+ sha512sums = 8db72595bef055aa96c1fea1b1c3b83334c05f1fca46c93944874fe17a20f976c8e14cef47692dd432c5c64601f9ea86bf2df2efe2637ecad0043afcf7963662
pkgname = petsc-complex
diff --git a/PKGBUILD b/PKGBUILD
index 64edfa7..f5eedd0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -39,12 +39,14 @@ optdepends=('trilinos: support for zoltan'
'triangle: support for the two-dimensional quality mesh generator and Delaunay triangulator'
'suitesparse: support for the suitesparse sparse matrix libraries'
'valgrind: support for valgrind to help find memory-management problems in programs'
- 'libyaml: support for YAML-formatted file')
+ 'libyaml: support for YAML-formatted file'
+ 'opencl-headers: support for OpenCL'
+ 'ocl-icd: support for OpenCL') # 'sundials: for CVODE solver support')
install=${_base}.install
source=(https://web.cels.anl.gov/projects/${_base}/download/release-snapshots/${_base}-lite-${pkgver}.tar.gz
test_optdepends.sh)
sha512sums=('16315a0f34982ac5e95d86b6e70d6a47be38b57cc1abf98c368f965cdb569039eaa8ce88447997461656b44fcccbbcf45e8846a9b4245bc942f6f30fc6dd2305'
- 'b943a7add71dcc80fd8a68671398f4d5e70554b5bdba6199c440333ef6bbb4aa02cbdda5ab89f25b72389a5e3151a3c55878c0ad945c2a5769265a5601a0f90e')
+ '8db72595bef055aa96c1fea1b1c3b83334c05f1fca46c93944874fe17a20f976c8e14cef47692dd432c5c64601f9ea86bf2df2efe2637ecad0043afcf7963662')
_install_dir=/opt/${_base}/${_config}
_petsc_arch=arch-${_config}
diff --git a/test_optdepends.sh b/test_optdepends.sh
index 8076cc2..95380d0 100644
--- a/test_optdepends.sh
+++ b/test_optdepends.sh
@@ -119,4 +119,15 @@ if [ -f "/usr/lib/libyaml.so" ]; then
CONFOPTS="${CONFOPTS} --with-yaml=1"
fi
+# Add OpenCL support
+OPENCL_DIR="/usr/include/CL"
+if [ -f "/usr/lib/libOpenCL.so" && -d "${OPENCL_DIR}" ]; then
+ CONFOPTS="${CONFOPTS} --with-opencl=1 --with-opencl-lib=-lOpenCL -with-opencl-include=${OPENCL_DIR}"
+fi
+
+# Add sundials support (complex-scalar is not supported)
+if [ -f "/usr/lib/libsundials_cvode.so" ]; then
+ CONFOPTS="${CONFOPTS} --with-sundials2=0"
+fi
+
echo "${CONFOPTS}"
--
2.43.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment