IkonOne / IkonOne/radtree

Refactor operators to methods.

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Cuda
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

As it stands, thrust::for_each calls using the operators incur memory transfer penalties for each call (to and from device). However, this structure also makes it super easy to test the methods. The key decisions that need to be made are:

- Does it make sense for each functional unit to be it's own struct/operator when they are stateless?
- Should they just be methods?
- If they are methods, how would they be used?
- Can we keep them as operators and avoid the host/device memory transfer cost?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the thrust::for_each call sites and the functional units currently represented as operators. Compare how the existing structure is tested with where host/device memory transfers occur; done means choosing and documenting a consistent operator-versus-method design that addresses the transfer cost without losing testability.

Written by the indexing model from the issue text.

Assessment

Domain
performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.