Revision 32b1305c78c353c7b9241a2f1bac43788041240f authored by Elliot Saba on 21 March 2022, 20:33:24 UTC, committed by GitHub on 21 March 2022, 20:33:24 UTC
* More flexibly test affinity setting When running on a machine with `cpusets` applied, we are unable to assign CPU affinity to CPUs 1 and 2; we may be locked to CPUs 9-16, for example. So we must inspect what our current cpumask is, and from that select CPUs that we can safely assign affinity to in our tests. * Import `uv_thread_getaffinity` from `print_process_affinity.jl` * Call `uv_thread_getaffinity` only if `AFFINITY_SUPPORTED` * Fix a syntax error Co-authored-by: Takafumi Arakaki <aka.tkf@gmail.com>
1 parent 1eae65b
NEWS.md
Julia v1.9 Release Notes
========================
New language features
---------------------
* It is now possible to assign to bindings in another module using `setproperty!(::Module, ::Symbol, x)`. ([#44137])
Language changes
----------------
* New builtins `getglobal(::Module, ::Symbol[, order])` and `setglobal!(::Module, ::Symbol, x[, order])`
for reading from and writing to globals. `getglobal` should now be preferred for accessing globals over
`getfield`. ([#44137])
Compiler/Runtime improvements
-----------------------------
Command-line option changes
---------------------------
* In Linux and Windows, `--threads=auto` now tries to infer usable number of CPUs from the
process affinity which is set typically in HPC and cloud environments ([#42340]).
Multi-threading changes
-----------------------
Build system changes
--------------------
New library functions
---------------------
Library changes
---------------
* A known concurrency issue of `iterate` methods on `Dict` and other derived objects such
as `keys(::Dict)`, `values(::Dict)`, and `Set` is fixed. These methods of `iterate` can
now be called on a dictionary or set shared by arbitrary tasks provided that there are no
tasks mutating the dictionary or set ([#44534]).
Standard library changes
------------------------
#### Package Manager
#### LinearAlgebra
* The methods `a / b` and `b \ a` with `a` a scalar and `b` a vector,
which were equivalent to `a * pinv(b)`, have been removed due to the
risk of confusion with elementwise division ([#44358]).
* We are now wholly reliant on libblastrampoline (LBT) for calling
BLAS and LAPACK. OpenBLAS is shipped by default, but building the
system image with other BLAS/LAPACK libraries is not
supported. Instead, it is recommended that the LBT mechanism be used
for swapping BLAS/LAPACK with vendor provided ones. ([#44360])
#### Markdown
#### Printf
#### Random
#### REPL
#### SparseArrays
#### Dates
#### Downloads
#### Statistics
#### Sockets
#### Tar
#### Distributed
* The package environment (active project, `LOAD_PATH`, `DEPOT_PATH`) are now propagated
when adding *local* workers (e.g. with `addprocs(N::Int)` or through the `--procs=N`
command line flag) ([#43270]).
* `addprocs` for local workers now accept the `env` keyword argument for passing
environment variables to the workers processes. This was already supported for
remote workers ([#43270]).
#### UUIDs
#### Mmap
#### DelimitedFiles
Deprecated or removed
---------------------
External dependencies
---------------------
Tooling Improvements
---------------------
<!--- generated by NEWS-update.jl: -->
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...