From: zimoun <zimon.toutoune@gmail.com>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: 52117@debbugs.gnu.org
Subject: [bug#52117] [core-updates-frozen] [PATCH 0/6] Fix Julia packages.
Date: Sat, 27 Nov 2021 13:38:57 +0100 [thread overview]
Message-ID: <861r31kc2m.fsf@gmail.com> (raw)
In-Reply-To: <87fsri8ez5.fsf_-_@gmail.com>
Hi Maxim,
Thanks for the review and the improved patch.
I am sorry if the commit message and/or changelog I provided was badly
worded, but somehow it was an attempt to explain the odd behaviour – at
least counter-intuitive since I initially felt into when sending the
very first patch allowing parallel tests and you felt too, I guess. :-)
On Fri, 26 Nov 2021 at 22:17, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>> ---
>> guix/build/julia-build-system.scm | 8 +++++---
>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm
>> index f0dc419c17..af478fd4a3 100644
>> --- a/guix/build/julia-build-system.scm
>> +++ b/guix/build/julia-build-system.scm
>> @@ -112,7 +112,10 @@ (define* (check #:key tests? source inputs outputs julia-package-name
>> (builddir (string-append out "/share/julia/"))
>> (jobs (if parallel-tests?
>> (number->string (parallel-job-count))
>> - "1")))
>> + "1"))
>> + (nprocs (if parallel-tests?
>> + (string-append "--procs=" jobs)
>> + "")))
>> ;; With a patch, SOURCE_DATE_EPOCH is honored
>> (setenv "SOURCE_DATE_EPOCH" "1")
>> (setenv "JULIA_DEPOT_PATH" builddir)
>> @@ -122,8 +125,7 @@ (define* (check #:key tests? source inputs outputs julia-package-name
>> "")))
>> (setenv "JULIA_CPU_THREADS" jobs)
>> (setenv "HOME" "/tmp")
>> - (invoke "julia" "--depwarn=yes"
>> - (string-append "--procs=" jobs)
>> + (invoke "julia" "--depwarn=yes" nprocs
>
> Here nprocs can be ""; is it really OK to pass an empty string argument
> to julia?
Yes it is OK. When #:parallel-tests? sets to #f, my patch leads to the
call “julia --depwarn=yes” which is valid. Your modified patch adds
another test but leads to the same call “julia --depwarn=yes”.
--8<---------------cut here---------------start------------->8---
+ (job-count (if parallel-tests?
+ (parallel-job-count)
+ 1))
+ ;; The --proc argument of Julia *adds* extra processors rather than
+ ;; specify the exact count to use, so zero must be specified to
+ ;; disable parallel processing...
[..]
+ (apply invoke "julia"
+ `("--depwarn=yes"
+ ,@(if parallel-tests?
+ ;; XXX: ... but '--procs' doesn't accept 0 as a valid
+ ;; value, so just omit the argument entirely.
+ (list (string-append "--procs="
+ (number->string additional-procs)))
+ '())
--8<---------------cut here---------------end--------------->8---
So because of 2 tests. I think your modified patch is more
“complicated”. :-)
About this,
--8<---------------cut here---------------start------------->8---
+ (additional-procs (max 0 (1- job-count))))
--8<---------------cut here---------------end--------------->8---
I considered that it was not a big deal; initially, I did something
similar in ’let’ but remove it because it changes nothing from my
experiments. In fact, because ’--procs’ overrides JULIA_CPU_THREADS and
run Julia with n or n+1 is more or less the same for the Julia land,
IMHO. Well, it is not clear what is the load for the main worker. And
JULIA_CPU_THREADS=1 is required for running using only one worker.
Anyway, this changes nothing, practically speaking. :-) Indeed, it is
better and more consistent.
Last, I am confused by Cuirass. Because it says evaluation complete but
julia-* packages are scheduled.
https://ci.guix.gnu.org/eval/48802?status=pending
And for instance,
https://ci.guix.gnu.org/build/1853818/log/raw
BTW, Berlin has some issues I guess
#48720 - d508c5b was pushed CommitDate: Fri Nov 26 23:21:45 2021 +0100
- 941f776 was pushed CommitDate: Sat Nov 27 01:22:32 2021 -0500
- 9c4752b was pushed CommitDate: Sat Nov 27 10:24:12 2021 +0100
#48802 - 1b8a18b was pushed CommitDate: Sat Nov 27 11:48:17 2021 +0100
I do not understand why 941f776 or 9c4752b had not been evaluated.
Could you give a look? For example, by restarting the evaluation?
Cheers,
simon
next prev parent reply other threads:[~2021-11-27 12:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-25 23:32 [bug#52117] [core-updates-frozen] [PATCH 0/6] Fix Julia packages zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 1/6] gnu: julia: Test correctly '#:parallel-tests?' zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 2/6] build: julia-build-system: Correctly disable parallel tests zimoun
2021-11-27 3:17 ` [bug#52117] [core-updates-frozen] [PATCH 0/6] Fix Julia packages Maxim Cournoyer
2021-11-27 12:38 ` zimoun [this message]
2021-11-27 18:59 ` zimoun
2021-11-28 2:57 ` Maxim Cournoyer
2021-11-29 14:10 ` zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 3/6] gnu: julia-aqua: Disable parallel tests zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 4/6] gnu: julia-interpolations: " zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 5/6] gnu: julia-requires: " zimoun
2021-11-25 23:35 ` [bug#52117] [PATCH 6/6] gnu: julia-unitful: " zimoun
2021-11-27 2:26 ` [bug#52117] [core-updates-frozen] [PATCH 0/6] Fix Julia packages Maxim Cournoyer
2021-11-27 6:31 ` bug#52117: " Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=861r31kc2m.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=52117@debbugs.gnu.org \
--cc=maxim.cournoyer@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).