Skip to content

Commit

Permalink
test 12-9
Browse files Browse the repository at this point in the history
  • Loading branch information
ameli committed Dec 4, 2023
1 parent 1b29123 commit 7055b5e
Show file tree
Hide file tree
Showing 9 changed files with 147 additions and 61 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/deploy-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ jobs:
if: matrix.os == 'windows-latest'
uses: pypa/[email protected]
env:
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_x86_64 *-win_amd64"
CIBW_ARCHS_WINDOWS: "AMD64 x86 ARM64"
CIBW_BUILD: "*-win_amd64 *-win_arm64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_LONG_INT=0 USE_UNSIGNED_LONG_INT=0 USE_CBLAS=0 USE_CUDA=1 CUDA_DYNAMIC_LOADING=0"
Expand All @@ -90,7 +91,7 @@ jobs:
uses: pypa/[email protected]
env:
CIBW_ARCHS_MACOS: "x86_64 arm64"
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_arm64 *-macosx_x86_64 *-win_amd64"
CIBW_BUILD: "*-macosx_arm64 *-macosx_x86_64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_LONG_INT=0 USE_UNSIGNED_LONG_INT=0 USE_CBLAS=0 USE_CUDA=0"
Expand All @@ -117,7 +118,8 @@ jobs:
CIBW_MANYLINUX_X86_64_IMAGE: sameli/manylinux2014_x86_64_cuda_12.2
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
# CIBW_BEFORE_ALL_LINUX: chmod +x .github/scripts/install_cuda.sh && .github/scripts/install_cuda.sh
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_x86_64 *-win_amd64"
CIBW_ARCHS_LINUX: "x86_64 aarch64"
CIBW_BUILD: "*-manylinux_x86_64 *-manylinux_aarch64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_LONG_INT=0 USE_UNSIGNED_LONG_INT=0 USE_CBLAS=0 USE_CUDA=1 CUDA_DYNAMIC_LOADING=0 CUDA_HOME=/usr/local/cuda"
Expand Down Expand Up @@ -236,7 +238,7 @@ jobs:
shell: bash -l {0}
run: |
conda install nomkl
conda remove mkl mkl-service 2>/dev/null
conda remove mkl mkl-service
- name: Test
shell: bash -l {0}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: deploy-docs

on:
# push:
# branches:
# - main
push:
branches:
- main
pull_request:
branches:
- main
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/deploy-pypi.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: deploy-pypi

on:
# push:
# branches:
# - main
push:
branches:
- main
release:
types:
- published
Expand Down Expand Up @@ -83,7 +83,8 @@ jobs:
if: matrix.os == 'windows-latest'
uses: pypa/[email protected]
env:
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_x86_64 *-win_amd64"
CIBW_ARCHS_WINDOWS: "AMD64 x86 ARM64"
CIBW_BUILD: "*-win_amd64 *-win_arm64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_LONG_INT=0 USE_UNSIGNED_LONG_INT=0 USE_CBLAS=0 USE_CUDA=1 CUDA_DYNAMIC_LOADING=1"
Expand All @@ -97,7 +98,7 @@ jobs:
uses: pypa/[email protected]
env:
CIBW_ARCHS_MACOS: "x86_64 arm64"
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_arm64 *-macosx_x86_64 *-win_amd64"
CIBW_BUILD: "*-macosx_arm64 *-macosx_x86_64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_CBLAS=0 USE_CUDA=0"
Expand All @@ -124,7 +125,8 @@ jobs:
CIBW_MANYLINUX_X86_64_IMAGE: sameli/manylinux2014_x86_64_cuda_12.2
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
# CIBW_BEFORE_ALL_LINUX: chmod +x .github/scripts/install_cuda.sh && .github/scripts/install_cuda.sh
CIBW_BUILD: "*-manylinux_x86_64 *-macosx_x86_64 *-win_amd64"
CIBW_ARCHS_LINUX: "x86_64 aarch64"
CIBW_BUILD: "*-manylinux_x86_64 *-manylinux_aarch64"
CIBW_SKIP: "pp* cp36-* cp37-* cp38-*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ENVIRONMENT: "USE_LONG_INT=0 USE_UNSIGNED_LONG_INT=0 USE_CBLAS=0 USE_CUDA=1 CUDA_DYNAMIC_LOADING=1 CUDA_HOME=/usr/local/cuda"
Expand Down
50 changes: 29 additions & 21 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,35 @@ Successful installation and tests performed on the following operating systems,
.. |y| unicode:: U+2714
.. |n| unicode:: U+2716

+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Platform | Arch | Device | Python Version | PyPy Version | Continuous |
+ | + +-------+-------+-------+-------+-------+-------+-------+ Integration +
| | | | 3.9 | 3.10 | 3.11 | 3.12 | 3.8 | 3.9 | 3.10 | |
+==========+========+========+=======+=======+=======+=======+=======+=======+=======+=================+
| Linux | X86-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |build-linux| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| macOS | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-macos| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+ +--------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Windows | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-windows| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Platform | Arch | Device | Python Version | PyPy Version | Continuous |
+ | + +-------+-------+-------+-------+-------+-------+-------+ Integration +
| | | | 3.9 | 3.10 | 3.11 | 3.12 | 3.8 | 3.9 | 3.10 | |
+==========+===========+========+=======+=======+=======+=======+=======+=======+=======+=================+
| Linux | X86-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |build-linux| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | AARCH-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| macOS | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-macos| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Windows | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-windows| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+

.. |build-linux| image:: https://img.shields.io/github/actions/workflow/status/ameli/imate/build-linux.yml
:target: https://github.com/ameli/imate/actions?query=workflow%3Abuild-linux
Expand Down
50 changes: 29 additions & 21 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,27 +82,35 @@ Successful installation and tests performed on the following operating systems,
.. |y| unicode:: U+2714
.. |n| unicode:: U+2716

+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Platform | Arch | Device | Python Version | PyPy Version | Continuous |
+ | + +-------+-------+-------+-------+-------+-------+-------+ Integration +
| | | | 3.9 | 3.10 | 3.11 | 3.12 | 3.8 | 3.9 | 3.10 | |
+==========+========+========+=======+=======+=======+=======+=======+=======+=======+=================+
| Linux | X86-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |build-linux| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| macOS | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-macos| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+ +--------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Windows | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-windows| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+----------+--------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Platform | Arch | Device | Python Version | PyPy Version | Continuous |
+ | + +-------+-------+-------+-------+-------+-------+-------+ Integration +
| | | | 3.9 | 3.10 | 3.11 | 3.12 | 3.8 | 3.9 | 3.10 | |
+==========+===========+========+=======+=======+=======+=======+=======+=======+=======+=================+
| Linux | X86-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |build-linux| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | AARCH-64 | CPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |y| | |y| | |y| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| macOS | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-macos| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |n| | |n| | |n| | |n| | |n| | |n| | |n| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+
| Windows | X86-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |build-windows| |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ +-----------+--------+-------+-------+-------+-------+-------+-------+-------+ +
| | ARM-64 | CPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+ + +--------+-------+-------+-------+-------+-------+-------+-------+ +
| | | GPU | |y| | |y| | |y| | |y| | |n| | |n| | |n| | |
+----------+-----------+--------+-------+-------+-------+-------+-------+-------+-------+-----------------+

.. |build-linux| image:: https://img.shields.io/github/actions/workflow/status/ameli/imate/build-linux.yml
:target: https://github.com/ameli/imate/actions?query=workflow%3Abuild-linux
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,59 @@
.. _optional-dependencies:
.. _dependencies:

Optional Runtime Dependencies
=============================
Runtime Dependencies
====================

The followings are dependencies used during the runtime of |project|. Note that, among these dependencies, `OpenMP` is **required**, while the rest of the dependencies are optional.

.. _dependencies_openmp:

OpenMP (`Required`)
-------------------

The |project| requires OpenMP, which is typically included with C++ compilers on Unix-based systems like Linux. By installing a C++ compiler on Linux, you generally obtain OpenMP as well. However, for macOS users, it's crucial to note that OpenMP is not part of the default LLVM Clang C++ compiler. Even if you have Clang installed on macOS, you will still need to install OpenMP separately. For Windows users, OpenMP support depends on the compiler you choose; Microsoft Visual C++ supports OpenMP, but you may need to enable it explicitly. Below are the specific installation for each operating system:

.. tab-set::

.. tab-item:: Ubuntu/Debian
:sync: ubuntu

.. prompt:: bash

sudo apt install libgomp1 -y

.. tab-item:: CentOS 7
:sync: centos

.. prompt:: bash

sudo yum install libgomp -y

.. tab-item:: RHEL 9
:sync: rhel

.. prompt:: bash

sudo dnf install libgomp -y

.. tab-item:: macOS
:sync: osx

.. prompt:: bash

sudo brew install libomp

.. note::

In *macOS*, starting from ``libomp`` with version ``15`` and above, Homebrew installs OpenMP as *keg-only*. To be able to use the OpenMP installation, create the following symbolic links :

.. prompt:: bash

ln -s /usr/local/opt/libomp/include/omp-tools.h /usr/local/include/omp-tools.h
ln -s /usr/local/opt/libomp/include/omp.h /usr/local/include/omp.h
ln -s /usr/local/opt/libomp/include/ompt.h /usr/local/include/ompt.h
ln -s /usr/local/opt/libomp/lib/libomp.a /usr/local/lib/libomp.a
ln -s /usr/local/opt/libomp/lib/libomp.dylib /usr/local/lib/libomp.dylib

Runtime libraries are not required to be present during the installation of |project|. However, they may be required to be installed during running |project|.

CUDA Toolkit and NVIDIA Graphic Driver (`Optional`)
---------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/source/install/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For more advanced usage, there may be cases where you need to compile the packag

Install from Wheels <install_wheels>
Install in Virtual Environment <virtual_env>
Optional Runtime Dependencies <optional_dependencies>
Runtime Dependencies <dependencies>
Compile from Source <compile_source>
Generate Documentation <gen_documentation>
Test Package <test_package>
Expand Down
16 changes: 16 additions & 0 deletions docs/source/install/troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,22 @@
Troubleshooting
***************

Cannot load ``libomp``
======================

Upon importing |project|, you may encounter this error:

::

ImportError: dlopen(.../site-packages/imate/logdet/_slq_method.cpython-311-darwin.so, 2):
Library not loaded: @loader_path/../.dylibs/libomp.dylib
Referenced from: .../site-packages/imate/logdet/_slq_method.cpython-311-darwin.so
Reason: no suitable image found. Did find:
.../site-packages/imate/logdet/../.dylibs/libomp.dylib:
cannot load 'libomp.dylib' (load command 0x80000034 is unknown)

This message indicates that OpenMP is not installed on your system, a requirement for the |project|. To resolve this issue, refer to <OpenMP installation instructions `dependencies_openmp`>.

Issue of Initializing ``libomp``
================================

Expand Down
2 changes: 1 addition & 1 deletion imate/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.20.11"
__version__ = "0.20.12"

0 comments on commit 7055b5e

Please sign in to comment.