diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb55f77a..c6f89a50 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: shell: bash -l {0} strategy: matrix: - compiler: [gcc-10, clang-15] + compiler: [gcc, clang] fail-fast: false name: "${{ matrix.compiler }}" env: diff --git a/lncfg b/lncfg index 7a27fcb5..ae2d35ca 100755 --- a/lncfg +++ b/lncfg @@ -70,7 +70,7 @@ while [ $# -gt 0 ]; do --cflags) shift && NOMP_C_FLAGS="${1}" ;; --build-type) shift && NOMP_BUILD_TYPE=${1} ;; --build-dir) shift && NOMP_BUILD_DIR=$(realpath "${1}") ;; - --install-prefix) shift && NOMP_INSTALL_DIR=$(realpath "${1}") ;; + --install-prefix) shift && NOMP_INSTALL_DIR="${1}" ;; --prefix-path) shift && NOMP_PREFIX_PATH="${1}" ;; --enable-hip) NOMP_ENABLE_HIP="ON" ;; --enable-cuda) NOMP_ENABLE_CUDA="ON" ;; diff --git a/python/loopy_api.py b/python/loopy_api.py index eb51e1cc..586b2d5a 100644 --- a/python/loopy_api.py +++ b/python/loopy_api.py @@ -791,22 +791,12 @@ def c_to_loopy(c_str: str, backend: str) -> lp.translation_unit.TranslationUnit: ), ) - # FIXME: This could probably be done in a more pythonic way. - unique_domains = frozenset() - for domain in acc.domains: - new = True - for unique_domain in unique_domains: - if unique_domain == domain: - new = False - for i, j in zip( - unique_domain.get_id_dict().keys(), - domain.get_id_dict().keys(), - ): - if i.get_name() != j.get_name(): - new = True - break - if new: - unique_domains = unique_domains | {domain} + from constantdict import constantdict + + unique_domains_x_var_dict = frozenset( + {(dom, constantdict(dom.get_var_dict())) for dom in acc.domains} + ) + unique_domains = tuple(dom for (dom, _) in unique_domains_x_var_dict) knl = lp.make_kernel( unique_domains, diff --git a/requirements.txt b/requirements.txt index e5e9f8e4..94e98210 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -git+https://github.com/inducer/loopy.git#egg=loopy -git+https://github.com/inducer/pymbolic.git#egg=pymbolic +loopy==2025.2 +pymbolic==2025.1 libclang==14.0.6 -pytools==2024.1.13 +pytools==2025.2.2 symengine==0.13.0 diff --git a/src/log.c b/src/log.c index 325922df..ad2cb03b 100644 --- a/src/log.c +++ b/src/log.c @@ -124,8 +124,6 @@ int nomp_get_err_no(unsigned id) { /** * @ingroup nomp_log_utils * @brief Free variables used to keep track of logs. - * - * @return void */ void nomp_log_finalize(void) { for (unsigned i = 0; i < logs_n; i++) @@ -183,7 +181,6 @@ static unsigned find_time_log(const char *entry) { * @param[in] toggle Toggles the timer between tick (start of timing) and a tock * (end of timing). * @param[in] sync Execute nomp_sync when toggling off the timer. - * @return void */ void nomp_profile(const char *name, const int toggle, const int sync) { if (profile_level == 0) return; @@ -233,8 +230,6 @@ void nomp_profile(const char *name, const int toggle, const int sync) { * @ingroup nomp_profiler_utils * @brief Prints all the execution times recorded by the program. * This function is executed only when the `--nomp-profile` is provided. - * - * @return int */ void nomp_profile_result(void) { if (profile_level == 0) return; @@ -254,8 +249,6 @@ void nomp_profile_result(void) { /** * @ingroup nomp_profiler_utils * @brief Free variables used to keep track of time logs. - * - * @return void */ void nomp_profile_finalize(void) { for (unsigned i = 0; i < time_logs_n; i++)