Skip to content

Commit

Permalink
complete the merge from develop
Browse files Browse the repository at this point in the history
  • Loading branch information
cyrush committed Nov 7, 2023
2 parents 24ac645 + d3cb334 commit f123f6a
Show file tree
Hide file tree
Showing 90 changed files with 6,770 additions and 2,648 deletions.
6 changes: 6 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ build:
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: src/docs/sphinx/conf.py

# If using Sphinx, optionally build your docs in additional formats such as PDF
# formats:
# - pdf

# Set requirements required to build your docs
python:
install:
- requirements: src/docs/sphinx/requirements.txt
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s

### Added
- Added parameters to control HDF5 compression options to the Relay Extract.
- Added check to make sure all domain IDs are unique

### Changed
- Changed the Data Binning filter to accept a `reduction_field` parameter (instead of `var`), and similarly the axis parameters to take `field` (instead of `var`). The `var` style parameters are still accepted, but deprecated and will be removed in a future release.

## [0.9.2] - Released 2023-06-30
### Preferred dependency versions for [email protected]
Expand Down
2 changes: 1 addition & 1 deletion package.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def create_package(output_file=None):
suffix = "tar"
t = datetime.datetime.now()
output_file = "%s.%04d.%02d.%02d.%s" % (repo_name,t.year,t.month,t.day,suffix)
cmd = "python " + pkg_script + " --prefix=ascent " + output_file
cmd = "python3 " + pkg_script + " --prefix=ascent " + output_file
print("[exe: {}]".format(cmd))
subprocess.call(cmd,shell=True)

Expand Down
2 changes: 1 addition & 1 deletion scripts/build_ascent/build_ascent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ if [ ! -d ${zlib_install_dir} ]; then
if ${build_zlib}; then
if [ ! -d ${zlib_src_dir} ]; then
echo "**** Downloading ${zlib_tarball}"
curl -L https://www.zlib.net/zlib-${zlib_version}.tar.gz -o ${zlib_tarball}
curl -L https://github.com/madler/zlib/releases/download/v${zlib_version}/zlib-${zlib_version}.tar.gz -o ${zlib_tarball}
tar -xzf ${zlib_tarball}
fi

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ export TAG_BASE=alpinedav/ascent-ci:ubuntu-18.04-cuda-11.4.0-devel-tpls

date

python ../build_and_tag.py ${TAG_BASE}
python3 ../build_and_tag.py ${TAG_BASE}

date
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ export TAG_BASE=alpinedav/ascent-ci:ubuntu-20.04-cuda-12.1.1-devel-tpls

date

python ../build_and_tag.py ${TAG_BASE}
python3 ../build_and_tag.py ${TAG_BASE}

date
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export TAG_BASE=alpinedav/ascent-ci:ubuntu-20.04-devel-tpls

date

python ../build_and_tag.py ${TAG_BASE}
python3 ../build_and_tag.py ${TAG_BASE}

date

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ export TAG_BASE=alpinedav/ascent-ci:ubuntu-20.04-rocm-5.1.3-devel-tpls

date

python ../build_and_tag.py ${TAG_BASE}
python3 ../build_and_tag.py ${TAG_BASE}

date
Empty file modified scripts/ci/docker/alpinedav_ubuntu_22.04_devel/build.sh
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion scripts/ci/docker/alpinedav_ubuntu_22.04_devel_tpls/build.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export TAG_BASE=alpinedav/ascent-ci:ubuntu-22.04-devel-tpls

date

python ../build_and_tag.py ${TAG_BASE}
python3 ../build_and_tag.py ${TAG_BASE}

date

2 changes: 1 addition & 1 deletion scripts/ci/docker/build_and_tag.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def main():
os.chdir("../../../../")

# get current copy of the ascent source
cmd ='python package.py {0}'
cmd ='python3 package.py {0}'
sexe(cmd.format(pjoin(orig_dir, "ascent.docker.src.tar.gz")))

# change back to orig working dir
Expand Down
15 changes: 15 additions & 0 deletions src/docs/sphinx/Actions/Examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Resulting image:

.. image:: examples/tout_render_3d_points_const_radius100.png

.. _screen_annotations_off:

An example of rendering with no screen annotations.
----------------------------------------------------

Expand Down Expand Up @@ -80,6 +82,8 @@ Resulting image:

.. image:: examples/tout_vector_component100.png

.. _world_annotations_off:

An example of rendering with no world annotations.
---------------------------------------------------

Expand Down Expand Up @@ -718,6 +722,17 @@ Resulting image:

.. image:: examples/tout_gradient_mag_braid100.png

An example of data binning, binning spatially and summing a field.
-------------------------------------------------------------------

YAML actions:

.. literalinclude:: examples/tout_binning_filter_bins100.yaml

Resulting image:

.. image:: examples/tout_binning_filter_bins100.png

An example of using the log10 filter and clamping the min value. This can help when there are negative values present.
-----------------------------------------------------------------------------------------------------------------------

Expand Down
4 changes: 2 additions & 2 deletions src/docs/sphinx/Actions/Scenes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ parameters:
- ``fg_color`` : an array of three floating point values that controls the foreground color. The foreground color is used to color annotations and mesh plot lines.
- ``annotations`` : controls if annotations are rendered or not. Valid values are ``"true"`` and ``"false"``.
- ``render_bg`` : controls if the background is rendered or not. If no background is rendered, the background will appear transparent. Valid values are ``"true"`` and ``"false"``.
- ``dataset_bounds`` : controls the dimensions of the rendered bounding box around the dataset. This will overwrite the default bounding box based on the dataset's dimensions. A valid value is an array of six floats ([xMin,xMax,yMin,yMax,zMin,zMax]) that define dimensions larger than the default.
- ``dataset_bounds`` : controls the dimensions of the rendered bounding box around the dataset. This will overwrite the default bounding box based on the dataset's dimensions. A valid value is an array of six floats ([xMin,xMax,yMin,yMax,zMin,zMax]) that define dimensions larger than the default. Note: this does not control annotations. To turn off dataset annotations, see :ref:`world_annotations_off`. To turn off screen annotations, see :ref:`screen_annotations_off`.
- ``color_bar_position`` : controls the position of 1 or more color bars. A valid value for positioning a single color bar is an array of four floats ([xMin,xMax,yMin,yMax]). A valid value for positioning N color bars is an array of 4*N floats ([xMin1_0,xMax1_0,yMin1_0,yMax1_0,...,xMin_n,xMax_n,yMin_n,yMax_n]). This repositioning is performed in Screen Space, so valid minimum and maximum values are limited to the range [-1,1] (i.e. the origin (0,0) is in the center of the image, (-1,-1) is the bottom-left corner, and (1,1) is the top-right corner). Note: Ascent does not check for correctness of user positioned color bars.


Expand Down Expand Up @@ -464,7 +464,7 @@ The code below creates a pipeline that first applies a contour filter and then a
:align: center

The camera placement chosen by the VQ metric DDS Entropy for this example.
This example and implementation of the other VQ metrics can be found in `auto_camera test <https://github.com/Alpine-DAV/ascent/blob/develop/src/tests/vtkh/t_vtk-h_auto_camera.cpp>`_.
This example and implementation of the other VQ metrics can be found in `auto_camera test <https://github.com/Alpine-DAV/ascent/blob/develop/src/tests/ascent/t_ascent_render_auto_camera.cpp>`_.

.. _actions_cinema:

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions src/docs/sphinx/Actions/examples/tout_binning_filter_bins100.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#An example of data binning, binning spatially and summing a field.

-
action: "add_pipelines"
pipelines:
pl1:
f1:
type: "binning"
params:
reduction_op: "sum"
reduction_field: "braid"
output_field: "binning"
output_type: "bins"
axes:
-
field: "x"
num_bins: 10
min_val: -10.0
max_val: 10.0
clamp: 1
-
field: "y"
num_bins: 10
clamp: 0
-
field: "z"
num_bins: 10
clamp: 10
-
action: "add_scenes"
scenes:
s1:
plots:
p1:
type: "pseudocolor"
field: "binning"
pipeline: "pl1"
image_prefix: "/Users/harrison37/Work/alpine/ascent/build-debug/tests/_output/tout_binning_filter_bins"
9 changes: 4 additions & 5 deletions src/docs/sphinx/Tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
Tutorial Overview
==================

`Ascent Tutorial Intro Slides [pdf] <https://www.ascent-dav.org/tutorial/2022_08_23_ascent_intro.pdf>`_
`Ascent Tutorial Intro Slides [pdf] <https://www.ascent-dav.org/tutorial/2023_08_22_ascent_intro.pdf>`_


This tutorial introduces how to use Ascent, including basics about:
Expand All @@ -22,12 +22,11 @@ Ascent installs include standalone C++, Python, and Python-based Jupyter noteboo
You can find the tutorial source code and notebooks in your Ascent install directory under ``examples/ascent/tutorial/ascent_intro/`` and the Cloverleaf3D demo files under ``examples/ascent/tutorial/cloverleaf_demos/``.


Scheduled Tutorials:

Tutorials:
* `In-Situ Analysis and Visualization with Ascent and ParaView Catalyst <https://sc23.supercomputing.org/presentation/?id=tut133&sess=sess211>`_ - November 2023, Denver, CO, USA
* `Introduction to Ascent, a Flyweight In Situ Visualization and Analysis for HPC Simulations @ LLNL's RADIUSS AWS Tutorial Series 2023 <https://software.llnl.gov/radiuss/event/2023/07/11/radiuss-on-aws/>`_ - August 2023, Virtual
* `Introduction to Ascent, a Flyweight In Situ Visualization and Analysis for HPC Simulations @ LLNL's RADIUSS AWS Tutorial Series 2022 <https://software.llnl.gov/radiuss/event/2022/07/07/radiuss-on-aws/>`_ - August 2022, Virtual


Past Tutorials:
* `In Situ Analysis and Visualization with ParaView Catalyst and Ascent @ ISC 2022 <https://app.swapcard.com/widget/event/isc-high-performance-2022/planning/UGxhbm5pbmdfODYxMTUx>`_ - May 2022, Hamburg, Germany
* ECP 2022 Annual Meeting - May 2022, Virtual
* `In Situ Analysis and Visualization with SENSEI and Ascent @ SC21 <https://sc21.supercomputing.org/presentation/?id=tut127&sess=sess190>`_ - Nov 2021, Virtual
Expand Down
174 changes: 87 additions & 87 deletions src/docs/sphinx/Tutorial_Setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,95 +62,95 @@ You can also launch the a Jupyter Notebook server from this image using the foll
The url (http://localhost:8888) and password (``learn``) are the same as above.


.. _tutorial_setup_public_installs:

Using Public Installs of Ascent
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This section provides info about public installs we provide on several HPC machines.

Additionally, here is a `link to the scripts used to build our public installs <https://github.com/Alpine-DAV/ascent/tree/develop/scripts/spack_install>`_ .

OLCF Summit Installs
+++++++++++++++++++++++


* Build Details: gcc 9.3.0 with OpenMP and MPI support
* Modules: ``gcc/9.3.0``
* Location: ``/sw/summit/ums/ums010/ascent/current/summit/openmp/gnu/ascent-install/``

You can copy the tutorial examples from this install and use them as follows:

.. literalinclude:: tutorial_setup_olcf_summit_openmp_test.sh
:language: bash

* Build Details: gcc 9.3.0 with CUDA 11.0.3 and MPI support
* Modules: ``gcc/9.3.0`` ``cuda/11.0.3``
* Location: ``/sw/summit/ums/ums010/ascent/current/summit/cuda/gnu/ascent-install/``

You can copy the tutorial examples from this install and use them as follows:

.. literalinclude:: tutorial_setup_olcf_summit_cuda_test.sh
:language: bash


NERSC Perlmuter Install
+++++++++++++++++++++++

* Build Details: gcc 10.3.0 with CUDA 11.4.0 and MPI support
* Modules: ``PrgEnv-gnu`` ``cpe-cuda/21.12`` ``cudatoolkit/21.9_11.4``
* Location: ``/global/cfs/cdirs/alpine/software/ascent/current/perlmutter/cuda/gnu/ascent-install/``


You can copy the tutorial examples from this install and use them as follows:

.. literalinclude:: tutorial_setup_nersc_perlmutter_test.sh
:language: bash


LLNL CZ TOSS 3 Install
+++++++++++++++++++++++

* Build Details: gcc 4.9.3 with OpenMP and MPI support
* Modules: (none)
* Location: ``/usr/gapps/conduit/software/ascent/current/toss_3_x86_64_ib/openmp/gnu/ascent-install/``

You can copy the tutorial examples from this install and use them as follows:

.. literalinclude:: tutorial_setup_llnl_pascal_openmp_test.sh
:language: bash


Register Ascent's Python as a Jupyter Kernel
+++++++++++++++++++++++++++++++++++++++++++++

.. warning::
This works the LLNL LC TOSS3 CZ OpenMP install, we are working on recipes for other HPC centers.

You can register Ascent's Python as a custom Jupyter kernel with Jupyter Hub.

LLNL CZ TOSS 3 Jupyter Kernel Register Example:

.. literalinclude:: tutorial_setup_llnl_pascal_openmp_jhub.sh
:language: bash

After you register you will see an option to launch an Ascent kernel in Jupyter Hub:

.. image:: images/llnl_jhub_kernel_select.png

With this kernel you can access Ascent's Python modules or run the tutorial notebooks:

.. image:: images/llnl_jhub_kernel_example.png

.. .. _tutorial_setup_public_installs:
..
.. Using Public Installs of Ascent
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..
.. This section provides info about public installs we provide on several HPC machines.
..
.. Additionally, here is a `link to the scripts used to build our public installs <https://github.com/Alpine-DAV/ascent/tree/develop/scripts/spack_install>`_ .
..
.. OLCF Summit Installs
.. +++++++++++++++++++++++
..
..
.. * Build Details: gcc 9.3.0 with OpenMP and MPI support
.. * Modules: ``gcc/9.3.0``
.. * Location: ``/sw/summit/ums/ums010/ascent/current/summit/openmp/gnu/ascent-install/``
..
.. You can copy the tutorial examples from this install and use them as follows:
..
.. .. literalinclude:: tutorial_setup_olcf_summit_openmp_test.sh
.. :language: bash
..
.. * Build Details: gcc 9.3.0 with CUDA 11.0.3 and MPI support
.. * Modules: ``gcc/9.3.0`` ``cuda/11.0.3``
.. * Location: ``/sw/summit/ums/ums010/ascent/current/summit/cuda/gnu/ascent-install/``
..
.. You can copy the tutorial examples from this install and use them as follows:
..
.. .. literalinclude:: tutorial_setup_olcf_summit_cuda_test.sh
.. :language: bash
..
..
.. NERSC Perlmuter Install
.. +++++++++++++++++++++++
..
.. * Build Details: gcc 10.3.0 with CUDA 11.4.0 and MPI support
.. * Modules: ``PrgEnv-gnu`` ``cpe-cuda/21.12`` ``cudatoolkit/21.9_11.4``
.. * Location: ``/global/cfs/cdirs/alpine/software/ascent/current/perlmutter/cuda/gnu/ascent-install/``
..
..
.. You can copy the tutorial examples from this install and use them as follows:
..
.. .. literalinclude:: tutorial_setup_nersc_perlmutter_test.sh
.. :language: bash
..
..
.. LLNL CZ TOSS 3 Install
.. +++++++++++++++++++++++
..
.. * Build Details: gcc 4.9.3 with OpenMP and MPI support
.. * Modules: (none)
.. * Location: ``/usr/gapps/conduit/software/ascent/current/toss_3_x86_64_ib/openmp/gnu/ascent-install/``
..
.. You can copy the tutorial examples from this install and use them as follows:
..
.. .. literalinclude:: tutorial_setup_llnl_pascal_openmp_test.sh
.. :language: bash
If you want to remove the registered kernel, you can use:
.. code::
# show list of registered kernels
jupyter kernelspec list
# remove our Ascent custom kernel
jupyter kernelspec uninstall ascent_kernel
.. Register Ascent's Python as a Jupyter Kernel
.. +++++++++++++++++++++++++++++++++++++++++++++
..
.. .. warning::
.. This works the LLNL LC TOSS3 CZ OpenMP install, we are working on recipes for other HPC centers.
..
.. You can register Ascent's Python as a custom Jupyter kernel with Jupyter Hub.
..
.. LLNL CZ TOSS 3 Jupyter Kernel Register Example:
..
.. .. literalinclude:: tutorial_setup_llnl_pascal_openmp_jhub.sh
.. :language: bash
..
.. After you register you will see an option to launch an Ascent kernel in Jupyter Hub:
..
.. .. image:: images/llnl_jhub_kernel_select.png
..
.. With this kernel you can access Ascent's Python modules or run the tutorial notebooks:
..
.. .. image:: images/llnl_jhub_kernel_example.png
..
..
.. If you want to remove the registered kernel, you can use:
..
.. .. code::
..
.. # show list of registered kernels
.. jupyter kernelspec list
.. # remove our Ascent custom kernel
.. jupyter kernelspec uninstall ascent_kernel
..
.. SC19 Tutorial VM Option
Expand Down
Loading

0 comments on commit f123f6a

Please sign in to comment.