Confusing usage of transformations
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start by reading the existing TransInfo object in psyclone/core/trans_nfo.py and compare the transformations under psyir/transformation with those under domain/API/transformations. Determine how an optional API context should select generic versus API-specific transformations, then verify that the proposed get("extract") and get("profile") usage works in relevant tests.
Written by the indexing model from the issue text.
Description
It is quite annoying (imho even for a more experienced dev) to keep track of which transformation to use: profile_transform comes from psyir/transformation (independent of API), while kernel extraction comes from domain/API/transformations (API dependent).
I know that TransInfo kept track of transformation in the past (and which afaik is broken atm since we started to move transforms to psyir/transformations), but it still needs the user to know if a generic transformation or an API-specific transformation is to be used.
My suggestion: update this global object that stores transformation to handle API-specific transformation ... something like (I never liked that it came from psygen):
from psyclone.core.trans_nfo import TransInfo
all_trans = TransInfo() # (1)
extract = all_trans.get("extract") # would pick API-specific transform
profile = all_trans.get("profile") # choses the generic API
In (1) we could supply the API as optional argument (but except maybe in tests the config object knows which API the user is working with).
- Dominant language
- Python
- Stars
- 137
- Forks
- 36
- Avg merge
- 6d 16h
- Merged PRs (30d)
- 18
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stfc/PSyclone
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
frontend: add support for ALOG, ALOG10 and IDInt intrinsics. Specify FLOAT as available on GPU. Openenhancement PSyIR
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
NEMO
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100