Package: anvl 0.6.0

Sebastian Fischer

anvl: Accelerated Array Computing and Automatic Differentiation

Accelerated array computing and code transformations for R. Numerical programs operating on arrays can be just-in-time compiled to optimized executables via 'XLA' -- the same compiler that powers 'JAX' and 'TensorFlow' -- and run on CPU or NVIDIA GPU from the same source. Also provides reverse-mode automatic differentiation, returning the gradient of a function as another R function.

Authors:Sebastian Fischer [cre, aut], Daniel Falbel [aut], Tomasz Kalinowski [aut], Nikolai German [aut], Louis Aslett [aut], Hugh Graham [ctb]

anvl_0.6.0.tar.gz
anvl_0.6.0.zip(r-4.7-any)anvl_0.6.0.zip(r-4.6-any)anvl_0.6.0.zip(r-4.5-any)
anvl_0.6.0.tgz(r-4.6-any)anvl_0.6.0.tgz(r-4.5-any)
anvl_0.6.0.tar.gz(r-4.7-any)anvl_0.6.0.tar.gz(r-4.6-any)
anvl_0.6.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
anvl/json (API)

# Install 'anvl' in R:
install.packages('anvl', repos = c('https://r-xla.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/r-xla/anvl/issues

Pkgdown/docs site:https://r-xla.github.io

On CRAN:

Conda:

array-computingautodiffgpu-accelerationxla

6.73 score 81 stars 47 scripts 387 exports 34 dependencies

Last updated from:032f311f5f (on v0.6.0). Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK203
source / vignettesOK294
linux-releaseOK165
macos-releaseOK190
macos-oldrelOK144
windows-develOK128
windows-releaseOK128
windows-oldrelOK141
wasm-releaseOK106

Exports:AbstractArrayactive_backendAnvlBackendAnvlBackendPjrtAnvlBackendQuickrAnvlPrimitiveDefapply_promotionarras_anvl_arrayas_anvl_arraysas_arrayas_dtypeas_rawawaitaxesbackendbuild_treecommon_dtypeConcreteArraycurrent_descriptorcurrent_platformdefault_devicedefault_dtypesdefault_floatdefault_intdevicedtypeeq_typeflattengradientgraph_desc_addgraph_gradientgraph_to_quickr_r_functionGraphBoxGraphDescriptorGraphLiteralGraphStatementGraphValueinstall_anvlIotaArrayis_arrayishis_deviceis_dtypejitjit_cache_sizeLiteralArraylocal_backendlocal_default_devicelocal_default_dtypeslocal_descriptorlocal_nv_rng_statelocal_nv_seedlocal_platformmap_treenaxesneq_typenew_primitivenv_absnv_acosnv_acoshnv_addnv_allnv_andnv_anynv_apermnv_arraynv_array_likenv_asinnv_asinhnv_atannv_atan2nv_atanhnv_avalnv_bitcast_convertnv_boolnv_broadcast_arraysnv_broadcast_scalarsnv_broadcast_tonv_cbindnv_cbrtnv_ceilingnv_cholnv_clampnv_concatenatenv_conv1dnv_conv2dnv_conv3dnv_convertnv_cosnv_coshnv_cospinv_crossprodnv_cummaxnv_cumminnv_cumprodnv_cumsumnv_dbinomnv_detnv_determinantnv_devicenv_dexpnv_diagnv_digammanv_divnv_dnormnv_dpoisnv_dropnv_dunifnv_eighnv_emptynv_empty_likenv_eqnv_erfnv_erf_invnv_erfcnv_expnv_expm1nv_extract_diagnv_eyenv_eye_likenv_fillnv_fill_likenv_flattennv_float32nv_float64nv_floornv_floor_divnv_gammanv_genv_get_rng_statenv_gtnv_ifnv_ifelsenv_int16nv_int32nv_int64nv_int8nv_invnv_iotanv_iota_likenv_is_finitenv_is_infinitenv_is_nannv_lenv_lgammanv_linspacenv_linspace_likenv_lognv_log10nv_log1pnv_log2nv_lower_trinv_lower_tri_likenv_ltnv_lunv_matmulnv_matrixnv_maxnv_meannv_mediannv_minnv_modnv_mulnv_nenv_negatenv_notnv_ornv_ordernv_outernv_padnv_pbinomnv_pexpnv_plogisnv_pmaxnv_pminnv_pnormnv_popcntnv_pownv_ppoisnv_printnv_prodnv_promote_to_commonnv_psigammanv_punifnv_qbinomnv_qexpnv_qnormnv_qpoisnv_qrnv_quantilenv_qunifnv_rangenv_rbindnv_rbinomnv_readnv_remaindernv_reshapenv_revnv_rng_statenv_rnormnv_roundnv_rsqrtnv_runifnv_samplenv_sample_intnv_savenv_scalarnv_scalar_likenv_scannv_sdnv_selectnv_seqnv_seq_likenv_serializenv_set_rng_statenv_set_seednv_shift_leftnv_shift_right_arithmeticnv_shift_right_logicalnv_signnv_sinnv_sinhnv_sinpinv_solvenv_sortnv_sqrtnv_squeezenv_static_slicenv_subnv_subsetnv_subset_assignnv_sumnv_svdnv_tannv_tanhnv_tanpinv_tcrossprodnv_top_knv_tracenv_transposenv_triangular_solvenv_trilnv_triunv_truncnv_uint16nv_uint32nv_uint64nv_uint8nv_unserializenv_unsqueezenv_upper_trinv_upper_tri_likenv_varnv_which_maxnv_which_minnv_whilenv_xorpeek_dtypeplatformpmap_treeprim_absprim_acosprim_acoshprim_addprim_allprim_andprim_anyprim_asinprim_asinhprim_atanprim_atan2prim_atanhprim_bitcast_convertprim_broadcast_in_axesprim_cbrtprim_ceilingprim_cholprim_clampprim_concatenateprim_convertprim_convolutionprim_cosprim_coshprim_cummaxprim_cumminprim_cumprodprim_cumsumprim_custom_gradientprim_digammaprim_divprim_dot_generalprim_dynamic_sliceprim_dynamic_update_sliceprim_eighprim_eqprim_erfprim_erf_invprim_erfcprim_expprim_expm1prim_fillprim_floorprim_gatherprim_geprim_gtprim_ifprim_ifelseprim_iotaprim_is_finiteprim_leprim_lgammaprim_logprim_log1pprim_ltprim_luprim_maxprim_minprim_mulprim_neprim_negateprim_notprim_orprim_padprim_plogisprim_pmaxprim_pminprim_popcntprim_powprim_printprim_prodprim_psigammaprim_qrprim_reduceprim_remainderprim_reshapeprim_revprim_roundprim_rsqrtprim_sample_bitsprim_scanprim_scatterprim_shift_leftprim_shift_right_arithmeticprim_shift_right_logicalprim_signprim_sinprim_sinhprim_sortprim_sqrtprim_static_sliceprim_subprim_sumprim_svdprim_tanprim_tanhprim_top_kprim_transposeprim_triangular_solveprim_which_maxprim_which_minprim_whileprim_xorpromotion_commonpromotion_dtypepromotion_groupedpromotion_likepromotion_rdata_commonpromotion_rulequickr_deviceRDatarule_reverseshapeShapestablehlosubgraphsto_abstracttrace_fntree_pathtree_sizeunflattenvalue_and_gradientwith_backendwith_default_devicewith_default_dtypeswith_dtypeswith_nv_rng_statewith_nv_seed

Dependencies:backportsbitbit64briocallrcheckmateclicrayondescdiffobjevaluatefastmapfsgluejsonlitelifecyclemagrittrotelpjrtpkgbuildpkgloadpraiseprocessxpsR6Rcpprlangrprojrootsafetensorsstablehlotestthatwaldowithrxlamisc

Readme and manuals

Help Manual

Help pageTopics
anvl: Accelerated Array Computing and Automatic Differentiationanvl-package anvl
Subset an Arraynv_subset [.AnvlArray
Update Subsetnv_subset_assign [<-.AnvlArray
Get Active Backendactive_backend
AnvlArrayAnvlArray nv_array nv_array_like nv_empty nv_empty_like nv_matrix nv_scalar nv_scalar_like
PJRT BackendAnvlBackendPjrt
Quickr BackendAnvlBackendQuickr
Primitive DefinitionAnvlPrimitiveDef
Bring a Primitive's Operands to One Data Typeapply_promotion
Create an R Arrayarr
Array-Like Objectsarrayish is_arrayish
Convert to AnvlArrayas_anvl_array as_anvl_arrays
Convert to an R Arrayas_array as_array.AnvlArray
Convert to a DataTypeas_dtype
Convert an Array to a Raw Vectoras_raw
Coerce AnvlArray to an R Vectoras-AnvlArray as.double.AnvlArray as.integer.AnvlArray as.integer64.AnvlArray as.logical.AnvlArray as.vector.AnvlArray
Block Until an Async Operation Completesawait
Get the Axes of an Arrayaxes
Get Backend Name of an Arraybackend
Common Data Typecommon_dtype
Concrete Array ClassConcreteArray
Get the Current Graphcurrent_descriptor
Current Lowering Target Platformcurrent_platform local_platform
Get the Default Devicedefault_device
Default Data Typesdefault_dtypes default_float default_int
Get the Device of an Arraydevice
Shape of an Arraydim.AnvlArray
Get the Data Type of an Arraydtype
Data Type Categoriesdtype_categories
Compare AbstractArray Typeseq_type neq_type
Gradientsgradient value_and_gradient
Add a Statement to a Graph Descriptorgraph_desc_add
Transform a Graph to Its Gradientgraph_gradient
Convert an AnvlGraph to a Plain R Functiongraph_to_quickr_r_function
Graph BoxGraphBox
Graph DescriptorGraphDescriptor
Graph LiteralGraphLiteral
Graph NodeGraphNode
Graph StatementGraphStatement
Graph ValueGraphValue
Install What a Backend Needs to Runinstall_anvl
Iota Array ClassIotaArray
Test Whether an Object Is a Deviceis_device
Check If an Object Is a DataTypeis_dtype
JIT Compile a Functionjit
Number of Cached Programs of a Jitted Functionjit_cache_size
Number of Elementslength.AnvlArray
Literal Array ClassLiteralArray
Temporarily Set the Backendlocal_backend with_backend
Temporarily Set the Default Devicelocal_default_device with_default_device
Set the Default Data Typeslocal_default_dtypes with_default_dtypes
Create a Graphlocal_descriptor
Draw From a Random State for a Scopelocal_nv_rng_state with_nv_rng_state
Map a Function over Treesmap_tree pmap_tree
Get the Number of Axes of an Arraynaxes
Create a PrimitiveAnvlPrimitive new_primitive
Absolute Valueabs.AnvlArray nv_abs
Arc Cosineacos.AnvlArray nv_acos
Inverse Hyperbolic Cosineacosh.AnvlArray nv_acosh
Addition+.AnvlArray nv_add
All Reductionall.AnvlArray nv_all
Bitwise AND&.AnvlArray nv_and
Any Reductionany.AnvlArray nv_any
Transposeaperm.AnvlArray nv_aperm nv_transpose t.AnvlArray
Arc Sineasin.AnvlArray nv_asin
Inverse Hyperbolic Sineasinh.AnvlArray nv_asinh
Arc Tangentatan.AnvlArray nv_atan
Arctangent 2nv_atan2
Inverse Hyperbolic Tangentatanh.AnvlArray nv_atanh
Abstract Array ClassAbstractArray nv_aval
Combine Arrays by Rows or Columnscbind.AnvlArray nv_bind nv_cbind nv_rbind rbind.AnvlArray
The Binomial Distributionnv_binomial nv_dbinom nv_pbinom nv_qbinom
Bitcast Conversionnv_bitcast_convert
Broadcast Arrays to a Common Shapenv_broadcast_arrays
Broadcast Scalars to Common Shapenv_broadcast_scalars
Broadcast to Shapenv_broadcast_to
Cube Rootnv_cbrt
Ceilingceiling.AnvlArray nv_ceiling
Cholesky Decompositionchol.AnvlArray nv_chol
Clampnv_clamp
Concatenatec.AnvlArray nv_concatenate
1D Convolutionnv_conv1d
2D Convolutionnv_conv2d
3D Convolutionnv_conv3d
Convert Data Typenv_convert
Cosinecos.AnvlArray nv_cos
Hyperbolic Cosinecosh.AnvlArray nv_cosh
Cosine of a Multiple of Picospi.AnvlArray nv_cospi
Cross Product (Matrix)crossprod.AnvlArray nv_crossprod
Cumulative Maximumcummax.AnvlArray nv_cummax
Cumulative Minimumcummin.AnvlArray nv_cummin
Cumulative Productcumprod.AnvlArray nv_cumprod
Cumulative Sumcumsum.AnvlArray nv_cumsum
Determinantnv_det
Determinant in Modulus/Sign Formdeterminant.AnvlArray nv_determinant
Create a Devicenv_device
Diagonal Matrixnv_diag
Digammadigamma.AnvlArray nv_digamma
Division/.AnvlArray nv_div
Create an Array of a Given Data Typenv_bool nv_dtype_constructors nv_float32 nv_float64 nv_int16 nv_int32 nv_int64 nv_int8 nv_uint16 nv_uint32 nv_uint64 nv_uint8
Symmetric Eigendecompositionnv_eigh
Equal==.AnvlArray nv_eq
Error Functionnv_erf
Inverse Error Functionnv_erf_inv
Complementary Error Functionnv_erfc
Exponentialexp.AnvlArray nv_exp
Exponential Minus Oneexpm1.AnvlArray nv_expm1
The Exponential Distributionnv_dexp nv_exponential nv_pexp nv_qexp
Extract Diagonalnv_extract_diag
Identity Matrixnv_eye nv_eye_like
Fill Constantnv_fill nv_fill_like
Flattennv_flatten
Floorfloor.AnvlArray nv_floor
Flooring Division%/%.AnvlArray nv_floor_div
Gamma Functiongamma.AnvlArray nv_gamma
Greater Than or Equal>=.AnvlArray nv_ge
Greater Than>.AnvlArray nv_gt
Conditional Branchingnv_if
Conditional Element Selectionnv_ifelse
Matrix Inversenv_inv
Iotanv_iota nv_iota_like
Is Finiteis.finite.AnvlArray nv_is_finite
Is Infiniteis.infinite.AnvlArray nv_is_infinite
Is NaNis.nan.AnvlArray nv_is_nan
Less Than or Equal<=.AnvlArray nv_le
Log-Gammalgamma.AnvlArray nv_lgamma
Evenly Spaced Sequencenv_linspace nv_linspace_like
Natural Logarithmlog.AnvlArray nv_log
Base-10 Logarithmlog10.AnvlArray nv_log10
Log Plus Onelog1p.AnvlArray nv_log1p
Base-2 Logarithmlog2.AnvlArray nv_log2
Lower Triangular Masknv_lower_tri nv_lower_tri_like
Less Than<.AnvlArray nv_lt
LU Decompositionnv_lu
Matrix Multiplication%*%.AnvlArray nv_matmul
Max Reductionmax.AnvlArray nv_max
Meanmean.AnvlArray nv_mean
Medianmedian.AnvlArray nv_median
Min Reductionmin.AnvlArray nv_min
Modulo (Flooring Remainder)%%.AnvlArray nv_mod
Multiplication*.AnvlArray nv_mul
Not Equal!=.AnvlArray nv_ne
Negationnv_negate
The Normal Distributionnv_dnorm nv_normal nv_pnorm nv_qnorm nv_rnorm
Bitwise Not!.AnvlArray nv_not
Bitwise ORnv_or |.AnvlArray
Sort Ordernv_order
Outer Productnv_outer
Padnv_pad
Logistic (Sigmoid)nv_plogis
Parallel Maximumnv_pmax
Parallel Minimumnv_pmin
The Poisson Distributionnv_dpois nv_poisson nv_ppois nv_qpois
Population Countnv_popcnt
Powernv_pow ^.AnvlArray
Print Arraynv_print
Product Reductionnv_prod prod.AnvlArray
Promote Arrays to a Common Data Typenv_promote_to_common
Psigammanv_psigamma trigamma.AnvlArray
QR Decompositionnv_qr qr.AnvlArray
Quantilenv_quantile quantile.AnvlArray
Range Reductionnv_range range.AnvlArray
Sample from a Binomial Distributionnv_rbinom
Remainder (Truncating)nv_remainder
Reshapenv_reshape
Reversenv_rev rev.AnvlArray
Create a Random Statenv_rng_state
Roundnv_round
Reciprocal Square Rootnv_rsqrt
Sample from a Populationnv_sample
Sample Integersnv_sample_int
Save and Read Arrays in a Filenv_read nv_save
Scan (Loop with Per-Step Outputs)nv_scan
Standard Deviationnv_sd
Select Elements Along an Axisnv_select
Sequencenv_seq nv_seq_like
Serialize Arrays to Raw Bytesnv_serialize nv_unserialize
Set the Global Random Statelocal_nv_seed nv_get_rng_state nv_set_rng_state nv_set_seed with_nv_seed
Shift Leftnv_shift_left
Arithmetic Shift Rightnv_shift_right_arithmetic
Logical Shift Rightnv_shift_right_logical
Signnv_sign sign.AnvlArray
Sinenv_sin sin.AnvlArray
Hyperbolic Sinenv_sinh sinh.AnvlArray
Sine of a Multiple of Pinv_sinpi sinpi.AnvlArray
Solve Linear Systemnv_solve solve.AnvlArray
Sortnv_sort sort.AnvlArray
Square Rootnv_sqrt sqrt.AnvlArray
Squeezenv_drop nv_squeeze
Static Slicenv_static_slice
Subtraction-.AnvlArray nv_sub
Sum Reductionnv_sum sum.AnvlArray
Singular Value Decompositionnv_svd
Tangentnv_tan tan.AnvlArray
Hyperbolic Tangentnv_tanh tanh.AnvlArray
Tangent of a Multiple of Pinv_tanpi tanpi.AnvlArray
Transpose Cross Product (Matrix)nv_tcrossprod tcrossprod.AnvlArray
Top-K Elementsnv_top_k
Matrix Tracenv_trace
Triangular Solvenv_triangular_solve
Lower Triangular Matrixnv_tril
Upper Triangular Matrixnv_triu
Truncatenv_trunc trunc.AnvlArray
The Uniform Distributionnv_dunif nv_punif nv_qunif nv_runif nv_uniform
Unsqueezenv_unsqueeze
Upper Triangular Masknv_upper_tri nv_upper_tri_like
Variancenv_var
Index of the Maximumnv_which_max
Index of the Minimumnv_which_min
While Loopnv_while
Bitwise XORnv_xor
Peek at a Data Typepeek_dtype
Get the Platform Name of an Array or Bufferplatform platform.AnvlArray
Primitive Absolute Valueprim_abs
Primitive Arc Cosineprim_acos
Primitive Inverse Hyperbolic Cosineprim_acosh
Primitive Additionprim_add
Primitive All Reductionprim_all
Primitive Bitwise Andprim_and
Primitive Any Reductionprim_any
Primitive Arc Sineprim_asin
Primitive Inverse Hyperbolic Sineprim_asinh
Primitive Arc Tangentprim_atan
Primitive Arctangent 2prim_atan2
Primitive Inverse Hyperbolic Tangentprim_atanh
Primitive Bitcast Conversionprim_bitcast_convert
Primitive Broadcastprim_broadcast_in_axes
Primitive Cube Rootprim_cbrt
Primitive Ceilingprim_ceiling
Primitive Cholesky Decompositionprim_chol
Primitive Clampprim_clamp
Primitive Concatenateprim_concatenate
Primitive Convert Data Typeprim_convert
Primitive Convolutionprim_convolution
Primitive Cosineprim_cos
Primitive Hyperbolic Cosineprim_cosh
Primitive Cumulative Maximumprim_cummax
Primitive Cumulative Minimumprim_cummin
Primitive Cumulative Productprim_cumprod
Primitive Cumulative Sumprim_cumsum
Primitive Custom Gradientprim_custom_gradient
Primitive Digammaprim_digamma
Primitive Divisionprim_div
Primitive Dot Generalprim_dot_general
Primitive Dynamic Sliceprim_dynamic_slice
Primitive Dynamic Update Sliceprim_dynamic_update_slice
Primitive Symmetric Eigendecompositionprim_eigh
Primitive Equalprim_eq
Primitive Error Functionprim_erf
Primitive Inverse Error Functionprim_erf_inv
Primitive Complementary Error Functionprim_erfc
Primitive Exponentialprim_exp
Primitive Exponential Minus Oneprim_expm1
Primitive Fillprim_fill
Primitive Floorprim_floor
Primitive Gatherprim_gather
Primitive Greater Than or Equalprim_ge
Primitive Greater Thanprim_gt
Primitive Ifprim_if
Primitive Ifelseprim_ifelse
Primitive Iotaprim_iota
Primitive Is Finiteprim_is_finite
Primitive Less Than or Equalprim_le
Primitive Log-Gammaprim_lgamma
Primitive Logarithmprim_log
Primitive Log Plus Oneprim_log1p
Primitive Less Thanprim_lt
Primitive LU Decompositionprim_lu
Primitive Max Reductionprim_max
Primitive Min Reductionprim_min
Primitive Multiplicationprim_mul
Primitive Not Equalprim_ne
Primitive Negationprim_negate
Primitive Bitwise Notprim_not
Primitive Bitwise Orprim_or
Primitive Padprim_pad
Primitive Logistic (Sigmoid)prim_plogis
Primitive Parallel Maximumprim_pmax
Primitive Parallel Minimumprim_pmin
Primitive Population Countprim_popcnt
Primitive Powerprim_pow
Primitive Printprim_print
Primitive Product Reductionprim_prod
Primitive Psigammaprim_psigamma
Primitive QR Decompositionprim_qr
Primitive Generic Reduceprim_reduce
Primitive Remainderprim_remainder
Primitive Reshapeprim_reshape
Primitive Reverseprim_rev
Primitive Roundprim_round
Primitive Reciprocal Square Rootprim_rsqrt
Primitive Random Bitsprim_sample_bits
Primitive Scanprim_scan
Primitive Scatterprim_scatter
Primitive Shift Leftprim_shift_left
Primitive Arithmetic Shift Rightprim_shift_right_arithmetic
Primitive Logical Shift Rightprim_shift_right_logical
Primitive Signprim_sign
Primitive Sineprim_sin
Primitive Hyperbolic Sineprim_sinh
Primitive Sortprim_sort
Primitive Square Rootprim_sqrt
Primitive Static Sliceprim_static_slice
Primitive Subtractionprim_sub
Primitive Sum Reductionprim_sum
Primitive Singular Value Decompositionprim_svd
Primitive Tangentprim_tan
Primitive Hyperbolic Tangentprim_tanh
Primitive Top-Kprim_top_k
Primitive Transposeprim_transpose
Primitive Triangular Solveprim_triangular_solve
Primitive Index of the Maximumprim_which_max
Primitive Index of the Minimumprim_which_min
Primitive While Loopprim_while
Primitive Bitwise Xorprim_xor
Promotion Rulespromotion_common promotion_dtype promotion_grouped promotion_like promotion_rdata_common promotion_rule
Quickr Devicequickr_device
R Data ClassRData
Reverse Rulerule_reverse
Get the Shape of an Arrayshape
Create a Shape ObjectShape
Lower a Graph to StableHLOstablehlo
Get Subgraphs from Higher-Order Primitivesubgraphs
Convert to Abstract Arrayto_abstract
Trace an R Function into a Graphtrace_fn
Run a Function at Given Data Typeswith_dtypes