Skip to content

EDADSlite Cuda support - #237

Open
Angelyr wants to merge 42 commits into
masterfrom
ac/egads-cuda
Open

EDADSlite Cuda support#237
Angelyr wants to merge 42 commits into
masterfrom
ac/egads-cuda

Conversation

@Angelyr

@Angelyr Angelyr commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Adds support for egadsliteCuda
Including one test

cwsmith and others added 30 commits February 14, 2022 09:58
Conflicts:
	src/CMakeLists.txt
cherry picked from adityayjoshi/crv @ afa9729 with curved adapt changes
removed
i really don't understand how separable compilation is supposed to work
bob_link_dependency requires Omega_h_USE_<depname> but here depname is not a tpl being enabled
doesn't output needed data
is this a felony?  without this change the call from EG_invEvaluate -> ... -> EG_invEvaGeomLimits fails
@Angelyr
Angelyr requested a review from cwsmith August 29, 2026 01:28
@Angelyr Angelyr self-assigned this Aug 29, 2026

@cwsmith cwsmith left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thank you. A handful of comments are below.

We should also enable this in our self-hosted CI.

Comment thread src/CMakeLists.txt
find_package(ADIOS2 REQUIRED)
endif()

if(Omega_h_USE_egadslite)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this support both the CPU and CUDA versions?

}
}

printf("3.4\n");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can these debug prints be removed?

}

Reals egads_lite_get_snap_warp(Mesh* mesh, Egads* eg, bool verbose) {
fprintf(stderr, "numverts %d\n", mesh->nverts());

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some more debug prints


Reals egads_lite_get_snap_warp(Mesh* mesh, Egads* eg, bool verbose) {
fprintf(stderr, "numverts %d\n", mesh->nverts());
//Omega_h::vtk::write_parallel("preWarp", mesh, mesh->dim());

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this too

auto setEdgeClass = OMEGA_H_LAMBDA(int i) {
if(edge_class_dims[i] == 1 && edge_class_ids_w[i] == 1) {
printf("edge %i reclassified\n",i);
edge_class_ids_w[i] = 7;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be a hack specific to the cone cone example. We may want to move this into a cone cone test case.

auto eg = Omega_h::egads_lite_load(model_path);
Omega_h::egads_lite_reclassify(&mesh, eg);
opts.egads_model = eg;
Omega_h::hackClassification(&mesh); //there are problems...

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more cone cone specific edits ?

void egads_lite_free(Egads* eg);
void egads_lite_reclassify(Mesh* mesh, Egads* eg);
Reals egads_lite_get_snap_warp(Mesh* mesh, Egads* eg, bool verbose);
void hackClassification(Omega_h::Mesh* mesh);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be moved to a cone cone test case if we confirm that it is specific to that case?

Comment thread CMakeLists.txt
endif()

set(Omega_h_USE_egadslite_DEFAULT OFF)
bob_add_dependency(PUBLIC NAME egadslite TARGETS egadslite::egadslite)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should prefix our egadslite branch as 'scorec-v####' and check for that version here; I don't think any of the other branches/versions will work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants