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

openblas v0.3.28 #163

Merged
merged 6 commits into from
Aug 17, 2024
Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
ctng-compilers 14.2.0 Anaconda-Server Badge
openblas 0.3.28 Anaconda-Server Badge

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found by source code inspection but not in the meta.yaml:

  • numpy
  • pytest
  • scipy

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/10315325611 - please use this URL for debugging.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@h-vetinari
Copy link
Member

@martin-frbg, there's a test that's hanging regularly on aarch/ppc builds, and now that I'm looking at the logs of a passing build, even there it seems to go awry:

TEST 104/107 potrf:bug_695 [OK]
TEST 105/107 fork:safety [SIGNAL 11: Segmentation fault]
[OK]
TEST 106/107 kernel_regress:skx_avx [OK]

I guess running fork safety test in an emulator is always going to be a risky proposition:

if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" != "1" || "${CROSSCOMPILING_EMULATOR}" != "" ]]; then
# We set CROSS=0 for builds with an emulator in order to run tests
CROSS=0
else
CROSS=1
fi

Should we just disable that test for cross-compiled builds?

@martin-frbg
Copy link

not sure, could you try if OpenMathLib/OpenBLAS#4879 makes it go away (this was seen in Julia very recently, I may have to produce an early 0.3.29 next week)

@h-vetinari
Copy link
Member

h-vetinari commented Aug 17, 2024

Thanks @martin-frbg! I've tried the patch but there's no change unfortunately. AFAICT the behaviour is bimodal: either the build passes in <30min, or it hangs forever at that test. One other observation is that the hangs appear to be exclusive to the OPENMP=0 case (e.g. all three builds of that type on aarch/ppc in the current CI run are hanging; I checked other recent runs and didn't find a failure for OPENMP=1).

@martin-frbg
Copy link

Thanks - in that case, disabling the tests is probably warranted if they pass on the actual hardware. Note that test_fork is not run at all in OpenMP builds as it is known to fail with (at least) the GNU libgomp (due to design limitations in the latter)

@h-vetinari
Copy link
Member

Thank you! I've tried to disable test_fork as follows:

--- a/utest/Makefile
+++ b/utest/Makefile
@@ -45,8 +45,10 @@ endif
 # FIXME TBD if this works on OSX, SunOS, POWER and zarch
 ifeq ($(OSNAME), $(filter $(OSNAME),Linux CYGWIN_NT))
 ifneq ($(USE_OPENMP), 1)
+ifneq ($(CROSS), 1)
 OBJS += test_fork.o
 endif
+endif
 OBJS += test_post_fork.o
 endif

but that doesn't seem to work (i.e. runs are still hanging there). I don't know the upstream test setup very well - what would be a good (or at least easy) way to skip that test?

@martin-frbg
Copy link

strange, are you sure it is hanging in the exact same test? maybe try disabling test_post_fork.c as well

@h-vetinari
Copy link
Member

I'm saying it's hanging in the test after

TEST 105/107 kernel_regress:skx_avx [OK]

which -- according to runs that pass -- should be

TEST 106/107 fork:safety

I don't know the exact relation ship between fork:safety and test_fork.o resp. test_post_fork.o though, that's why I was asking. :)

@h-vetinari
Copy link
Member

Alright, I upgraded the patch to

--- a/utest/Makefile
+++ b/utest/Makefile
@@ -43,12 +43,14 @@ endif

 #this does not work with OpenMP nor with native Windows or Android threads
 # FIXME TBD if this works on OSX, SunOS, POWER and zarch
+ifneq ($(CROSS), 1)
 ifeq ($(OSNAME), $(filter $(OSNAME),Linux CYGWIN_NT))
 ifneq ($(USE_OPENMP), 1)
 OBJS += test_fork.o
 endif
 OBJS += test_post_fork.o
 endif
+endif

 ifeq ($(C_COMPILER), PGI)
 OBJS = utest_main2.o

and that seems to have done the trick! Thank you!

However, I'll note that in the three OPENMP=1 jobs, I still see:

TEST 104/107 potrf:bug_695 [OK]
TEST 105/107 fork:safety [SIGNAL 11: Segmentation fault]
[OK]
TEST 106/107 kernel_regress:skx_avx [OK]

I don't really understand how that test wouldn't equally be skipped there, because it has CROSS=1 just the same (it's set independently from OPENMP, see build script snippet referenced above).

@martin-frbg
Copy link

hmm, there should not be a way around this in the makefile - guessing these are either cmake builds or CI did not actually apply the PR on top of the checkout (I sometimes see this with Cirrus, a rerun usually fixes it)

@h-vetinari
Copy link
Member

or CI did not actually apply the PR on top of the checkout

I've never seen that happen in ~5 years in azure pipelines (and I look at a lot of CI runs), but the reason this didn't trigger looks to be much more mundane: I misinterpreted what we're setting the value of CROSS to, and so the patch doesn't trigger.

despite cross-compiling, we set `CROSS=0`, because we have
qemu available as an emulator in the image, and apparently
the makefiles can figure out the rest
openblas_utest already runs under overall test suite
@h-vetinari h-vetinari merged commit c850422 into conda-forge:main Aug 17, 2024
15 of 17 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 0.3.28_ha22c70 branch August 17, 2024 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants