[deal.II] deal.II Newsletter #263

2023-08-07 Thread 'Rene Gassmoeller' via deal.II User Group
Hello everyone!

This is deal.II newsletter #263.
It automatically reports recently merged features and discussions about the 
deal.II finite element library.


## Below you find a list of recently proposed or merged features:

#15854: Fix typo (proposed by peterrum) 
https://github.com/dealii/dealii/pull/15854

#15853: Test petsc/petsc_ts_03: add output variant for 3.15.5 (proposed by 
tamiko) https://github.com/dealii/dealii/pull/15853

#15852: Fix compiling with PETSc with complex scalar type (proposed by 
masterleinad) https://github.com/dealii/dealii/pull/15852

#15851: Multiple components in MGTwoLevelTransferNonNested (proposed by fdrmrc) 
https://github.com/dealii/dealii/pull/15851

#15850: No longer list IWR as the hosting institution. (proposed by bangerth; 
merged) https://github.com/dealii/dealii/pull/15850

#15849: PETScWrappers:Align SNES with TS in comments and Jacobian handling 
(proposed by stefanozampini) https://github.com/dealii/dealii/pull/15849

#15845: petsc_ts_03: need to add an output for pre 3.20 (proposed by 
stefanozampini; merged) https://github.com/dealii/dealii/pull/15845

#15844: Test petsc/petsc_ts_03: update test output (proposed by tamiko) 
https://github.com/dealii/dealii/pull/15844

#15843: FEPointEvaluation/MappingInfo for simplices (proposed by peterrum) 
https://github.com/dealii/dealii/pull/15843

#15842: Add a version of timing_step_37 using MGTransferMF (proposed by 
peterrum) https://github.com/dealii/dealii/pull/15842

#15841: MGTwoLevelTransfer: remove temporal vector in compute_weights() 
(proposed by peterrum; merged) https://github.com/dealii/dealii/pull/15841

#15838: Add Functions::FunctionUnitToReal. (proposed by simonsticko) 
https://github.com/dealii/dealii/pull/15838

#15832: Avoid memory allocations in step 68 (proposed by gassmoeller; merged) 
https://github.com/dealii/dealii/pull/15832

#15829: Split fe_values.h and fe_values.cc into three files each. (proposed by 
drwells; merged) https://github.com/dealii/dealii/pull/15829

#15826: Fix a build warning (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/15826

#15822: Fix test (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/15822

#15820: MGTwoLevelTransferNonNested: enable simplex (proposed by peterrum) 
https://github.com/dealii/dealii/pull/15820

#15819: FEValuesViews::ReorderedView (proposed by luca-heltai) 
https://github.com/dealii/dealii/pull/15819

#15817: Introduce Triangulation::as_dof_handler_level_iterator() (proposed by 
peterrum; merged) https://github.com/dealii/dealii/pull/15817

#15816: Introduce Triangulation::contains_cell() (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/15816

#15815: Add NoncontiguousPartitioner::import_from_ghosted_array() (proposed by 
peterrum; merged) https://github.com/dealii/dealii/pull/15815

#15812: Add constrained entries to partitioner_coarse in NonNestedMG (proposed 
by fdrmrc; merged) https://github.com/dealii/dealii/pull/15812

#15811: GridTools::find_active_cell_around_point() and 
find_all_active_cells_around_point() for simplices (proposed by peterrum; 
merged) https://github.com/dealii/dealii/pull/15811

#15810: GT::vertex_to_cell_map(): check if triangulation is locally refined. 
(proposed by peterrum; merged) https://github.com/dealii/dealii/pull/15810

#15808: Use Cache::get_vertex_to_cell_map() in 
GT::find_all_locally_owned_act... (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/15808

#15805: Added gradient() evaluation to VectorFunctionFromTensorFunction 
(proposed by AbbBallout; merged) https://github.com/dealii/dealii/pull/15805

#15802: Adjust expectations in a GridTools::get_coarse_mesh_description(). 
(proposed by bangerth; merged) https://github.com/dealii/dealii/pull/15802

#15801: Make GridGenerator::hyper_cube_with_cylindrical_hole<2>() more robust. 
(proposed by bangerth; merged) https://github.com/dealii/dealii/pull/15801

#15794: Use MGTransferGlobalCoarsening also for local smoothing (proposed by 
peterrum; merged) https://github.com/dealii/dealii/pull/15794

#15787: Require PETSc to be configured with MPI support (proposed by 
masterleinad; merged) https://github.com/dealii/dealii/pull/15787

#15785: PETScWrappers::TimeStepper support resizing while solving (proposed by 
stefanozampini; merged) https://github.com/dealii/dealii/pull/15785

#15649: Test serialization for serial and shared triangulations (proposed by 
pcafrica; merged) https://github.com/dealii/dealii/pull/15649

#14976: Add warning to pack_rtree_of_indices() (proposed by peterrum; merged) 
https://github.com/dealii/dealii/pull/14976


## And this is a list of recently opened or closed discussions:

#15848: Regression tester regressed c95eb9 (opened and closed) 
https://github.com/dealii/dealii/issues/15848

#15847: Build Failure with PETSC-Complex, Invalid Static Cast (opened) 
https://github.com/dealii/dealii/issues/15847

#15846: Don't explicitly use FEValuesViews in 

Re: [deal.II] Vector-valued matrix-free operatior with CUDA

2023-08-07 Thread Justin O'Connor
I'm hoping to do linear elasticity, similar to step 8, so a FESystem of dim 
identical FE_Qs

On Monday, August 7, 2023 at 9:06:09 AM UTC-6 d.arnd...@gmail.com wrote:

> Justin,
>
> As far as I know, we haven't made any significant progress with 
> vector-valued support for CudaWrappers::MatrixFree (apart from porting it 
> to Kokkos).
> What's your specific use case? What functionality do you need specifically 
> (same finite elements? FESystsem?)?
>
> Best,
> Daniel
>
> On Mon, Aug 7, 2023 at 10:03 AM Justin O'Connor  
> wrote:
>
>> Howdy!
>>
>> I see here: 
>> https://github.com/dealii/dealii/issues/4399 
>> that using cuda for matrix-free operators with multiple components has 
>> been discussed before, and I think it is referenced again here 
>> https://github.com/dealii/dealii/issues/7037
>> but this issue hasn't been referenced by 2019. Has anyone been trying 
>> this?
>> Would it be at all possible to use the existing framework to grab the 
>> individual components, and work with them inside the loop to do the 
>> operations I need? And then somehow put the results into the result vector 
>> from there?
>>
>> Thank you,
>> Justin
>>
>> -- 
>> The deal.II project is located at http://www.dealii.org/
>> For mailing list/forum options, see 
>> https://groups.google.com/d/forum/dealii?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "deal.II User Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to dealii+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/2974346e-9ed7-4697-a32a-2df5ed5bf85en%40googlegroups.com
>>  
>> 
>> .
>>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/efb882b1-1312-4a11-ba49-6cdf094e51efn%40googlegroups.com.


Re: [deal.II] Vector-valued matrix-free operatior with CUDA

2023-08-07 Thread Daniel Arndt
Justin,

As far as I know, we haven't made any significant progress with
vector-valued support for CudaWrappers::MatrixFree (apart from porting it
to Kokkos).
What's your specific use case? What functionality do you need specifically
(same finite elements? FESystsem?)?

Best,
Daniel

On Mon, Aug 7, 2023 at 10:03 AM Justin O'Connor 
wrote:

> Howdy!
>
> I see here:
> https://github.com/dealii/dealii/issues/4399
> that using cuda for matrix-free operators with multiple components has
> been discussed before, and I think it is referenced again here
> https://github.com/dealii/dealii/issues/7037
> but this issue hasn't been referenced by 2019. Has anyone been trying this?
> Would it be at all possible to use the existing framework to grab the
> individual components, and work with them inside the loop to do the
> operations I need? And then somehow put the results into the result vector
> from there?
>
> Thank you,
> Justin
>
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/2974346e-9ed7-4697-a32a-2df5ed5bf85en%40googlegroups.com
> 
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAOYDWbKfWXt6ezoprbbKXbo8Lf0OJqujgay-Ndnfgi9dxFns2Q%40mail.gmail.com.


Re: [deal.II] Question about compiling with CUDA

2023-08-07 Thread Daniel Arndt
I'm glad you found something that is working for you!

Best,
Daniel

On Mon, Aug 7, 2023 at 9:52 AM Justin O'Connor 
wrote:

> For posterity, ere's a dockerfile I got working that installs deal.ii with
> cuda capability. :)
>
> Thanks,
> Justin
> On Friday, July 28, 2023 at 4:33:46 PM UTC-6 Justin O'Connor wrote:
>
>> I'm now just using your dockerfile (thanks for the tips on it), and I am
>> trying to install deal.ii at the end.
>>
>> Adding this to the end of it:
>> RUN apt update && apt install -y libblas-dev liblapack-dev
>>
>> WORKDIR /opt
>> ENV DEALII_VERSION 9.5.1
>> RUN wget --no-verbose https://www.dealii.org/downloads/dealii-
>> $DEALII_VERSION.tar.gz
>> RUN gunzip -c dealii-$DEALII_VERSION.tar.gz | tar -xof -
>> ENV DEALII_DIR /opt/dealii-$DEALII_VERSION
>> WORKDIR $DEALII_DIR
>> RUN pwd
>> RUN mkdir build
>> RUN mkdir dealii_installed
>> WORKDIR $DEALII_DIR/build
>> RUN cmake $DEALII_DIR -DCMAKE_INSTALL_PREFIX=opt/dealii_installed \
>>-DCMAKE_CXX_COMPILER=clang++ \
>>-DDEAL_II_WITH_TBB=ON \
>>-DDEAL_II_WITH_MPI=ON \
>>-DDEAL_II_MPI_WITH_DEVICE_SUPPORT=ON \
>>-DDEAL_II_WITH_LAPACK=ON \
>>-DDEAL_II_WITH_BLAS=ON \
>>-DDEAL_II_WITH_64BIT_INDICES=ON \
>>-DKOKKOS_DIR=$KOKKOS_DIR \
>>-DDEAL_II_WITH_CUDA=ON
>>
>> gives the attached error, still saying the compiler and linker flags are
>> the issue?
>>
>> short version:
>>
>> CMake Error at cmake/setup_finalize.cmake:126 (message):
>>
>>
>> Configuration error: Cannot compile a test program with the final set
>> of
>> compiler and linker flags:
>>   CXX flags (DEBUG): -openmp-simd -pthread
>> -ffp-exception-behavior=strict -Og -ggdb -Wa,--compress-debug-sections
>>   LD flags  (DEBUG): -rdynamic  -pthread -fopenmp=libomp -ggdb
>> -Wl,--compress-debug-sections=zlib
>>   LIBRARIES (DEBUG): dl;
>>
>>
>>
>>
>> Call Stack (most recent call first):
>>   cmake/macros/macro_verbose_include.cmake:19 (include)
>>   CMakeLists.txt:123 (verbose_include)
>>
>>
>> Thank you so much for all your help already,
>>
>> Justin
>>
>> On Thursday, July 27, 2023 at 10:58:58 AM UTC-6 d.arnd...@gmail.com
>> wrote:
>>
>>> Justin,
>>>
>>> a docker file that we are using in a different project can be found at
>>> https://github.com/arborx/ArborX/blob/master/docker/Dockerfile in case
>>> that helps.
>>> In general, I would advise against using nvhpc/nvc++ which proves to be
>>> pretty buggy as compared to nvcc/nvcc_wrapper or even (clang++ which is
>>> another option for a compiler supporting CUDA).
>>> Anyway, it seems the current configuration is using nvcc_wrapper. What
>>> does the failing compile-line look like? What is the host compiler (I guess
>>> g++ but which version)?
>>>
>>> Best,
>>> Daniel
>>>
>>> On Thu, Jul 27, 2023 at 10:39 AM Justin O'Connor <
>>> jul...@rams.colostate.edu> wrote:
>>>
 Howdy!

 I'm working on making a Dockerfile that will let me use deal.ii with
 CUDA. However, when I run make install, I get the following error:

 Error: Internal Compiler Error (codegen): "casting aggregate to
 non-void type is not supported!"

 make[2]: *** [source/fe/CMakeFiles/object_fe_debug.dir/build.make:713:
 source/fe/CMakeFiles/object_fe_debug.dir/fe_values.cc.o] Error 2
 make[2]: *** Waiting for unfinished jobs

 I'm hoping this is a known issue and I'm just doing something silly.
 Any pointers would be greatly appreciated.

 My Dockerfile is attached if that is of any use to anyone.

 Thank you,
 Justin

 --
 The deal.II project is located at http://www.dealii.org/
 For mailing list/forum options, see
 https://groups.google.com/d/forum/dealii?hl=en
 ---
 You received this message because you are subscribed to the Google
 Groups "deal.II User Group" group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to dealii+un...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/dealii/34846fa5-7a9e-4417-80c9-af54792844a9n%40googlegroups.com
 
 .

>>> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/3b70963d-f52a-4533-a92a-6248cc26db7en%40googlegroups.com
> 
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing 

[deal.II] Vector-valued matrix-free operatior with CUDA

2023-08-07 Thread Justin O'Connor
Howdy!

I see here: 
https://github.com/dealii/dealii/issues/4399 
that using cuda for matrix-free operators with multiple components has been 
discussed before, and I think it is referenced again here 
https://github.com/dealii/dealii/issues/7037
but this issue hasn't been referenced by 2019. Has anyone been trying this?
Would it be at all possible to use the existing framework to grab the 
individual components, and work with them inside the loop to do the 
operations I need? And then somehow put the results into the result vector 
from there?

Thank you,
Justin

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/2974346e-9ed7-4697-a32a-2df5ed5bf85en%40googlegroups.com.


Re: [deal.II] Question about compiling with CUDA

2023-08-07 Thread Justin O'Connor
For posterity, ere's a dockerfile I got working that installs deal.ii with 
cuda capability. :)

Thanks,
Justin
On Friday, July 28, 2023 at 4:33:46 PM UTC-6 Justin O'Connor wrote:

> I'm now just using your dockerfile (thanks for the tips on it), and I am 
> trying to install deal.ii at the end. 
>
> Adding this to the end of it:
> RUN apt update && apt install -y libblas-dev liblapack-dev
>
> WORKDIR /opt
> ENV DEALII_VERSION 9.5.1
> RUN wget --no-verbose https://www.dealii.org/downloads/dealii-
> $DEALII_VERSION.tar.gz
> RUN gunzip -c dealii-$DEALII_VERSION.tar.gz | tar -xof -
> ENV DEALII_DIR /opt/dealii-$DEALII_VERSION
> WORKDIR $DEALII_DIR
> RUN pwd
> RUN mkdir build
> RUN mkdir dealii_installed
> WORKDIR $DEALII_DIR/build
> RUN cmake $DEALII_DIR -DCMAKE_INSTALL_PREFIX=opt/dealii_installed \
>-DCMAKE_CXX_COMPILER=clang++ \
>-DDEAL_II_WITH_TBB=ON \
>-DDEAL_II_WITH_MPI=ON \
>-DDEAL_II_MPI_WITH_DEVICE_SUPPORT=ON \
>-DDEAL_II_WITH_LAPACK=ON \
>-DDEAL_II_WITH_BLAS=ON \
>-DDEAL_II_WITH_64BIT_INDICES=ON \
>-DKOKKOS_DIR=$KOKKOS_DIR \
>-DDEAL_II_WITH_CUDA=ON 
>
> gives the attached error, still saying the compiler and linker flags are 
> the issue?
>
> short version:
>
> CMake Error at cmake/setup_finalize.cmake:126 (message):
>   
>
> Configuration error: Cannot compile a test program with the final set 
> of
> compiler and linker flags:
>   CXX flags (DEBUG): -openmp-simd -pthread 
> -ffp-exception-behavior=strict -Og -ggdb -Wa,--compress-debug-sections
>   LD flags  (DEBUG): -rdynamic  -pthread -fopenmp=libomp -ggdb 
> -Wl,--compress-debug-sections=zlib
>   LIBRARIES (DEBUG): dl;
> 
>
>   
>
> Call Stack (most recent call first):
>   cmake/macros/macro_verbose_include.cmake:19 (include)
>   CMakeLists.txt:123 (verbose_include)
>
>
> Thank you so much for all your help already,
>
> Justin
>
> On Thursday, July 27, 2023 at 10:58:58 AM UTC-6 d.arnd...@gmail.com wrote:
>
>> Justin,
>>
>> a docker file that we are using in a different project can be found at 
>> https://github.com/arborx/ArborX/blob/master/docker/Dockerfile in case 
>> that helps.
>> In general, I would advise against using nvhpc/nvc++ which proves to be 
>> pretty buggy as compared to nvcc/nvcc_wrapper or even (clang++ which is 
>> another option for a compiler supporting CUDA).
>> Anyway, it seems the current configuration is using nvcc_wrapper. What 
>> does the failing compile-line look like? What is the host compiler (I guess 
>> g++ but which version)?
>>
>> Best,
>> Daniel 
>>
>> On Thu, Jul 27, 2023 at 10:39 AM Justin O'Connor <
>> jul...@rams.colostate.edu> wrote:
>>
>>> Howdy!
>>>
>>> I'm working on making a Dockerfile that will let me use deal.ii with 
>>> CUDA. However, when I run make install, I get the following error:
>>>
>>> Error: Internal Compiler Error (codegen): "casting aggregate to non-void 
>>> type is not supported!"
>>>
>>> make[2]: *** [source/fe/CMakeFiles/object_fe_debug.dir/build.make:713: 
>>> source/fe/CMakeFiles/object_fe_debug.dir/fe_values.cc.o] Error 2
>>> make[2]: *** Waiting for unfinished jobs
>>>
>>> I'm hoping this is a known issue and I'm just doing something silly. Any 
>>> pointers would be greatly appreciated.
>>>
>>> My Dockerfile is attached if that is of any use to anyone.
>>>
>>> Thank you,
>>> Justin
>>>
>>> -- 
>>> The deal.II project is located at http://www.dealii.org/
>>> For mailing list/forum options, see 
>>> https://groups.google.com/d/forum/dealii?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "deal.II User Group" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to dealii+un...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/dealii/34846fa5-7a9e-4417-80c9-af54792844a9n%40googlegroups.com
>>>  
>>> 
>>> .
>>>
>>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/3b70963d-f52a-4533-a92a-6248cc26db7en%40googlegroups.com.


Dockerfile
Description: Binary data