IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0954450
(2010-11-24)
|
등록번호 |
US-8924946
(2014-12-30)
|
발명자
/ 주소 |
- Bikshandi, Ganesh
- Venkata, Krishna Nandivada
- Peshansky, Igor
- Saraswat, Vijay Anand
|
출원인 / 주소 |
- International Business Machines Corporation
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
1 인용 특허 :
10 |
초록
▼
Systems and methods for replacing inferior code segments with optimal code segments. Systems and methods for making such replacements for programming languages using Message Passing Interface (MPI) are provided. For example, at the compiler level, point-to-point code segments may be identified and r
Systems and methods for replacing inferior code segments with optimal code segments. Systems and methods for making such replacements for programming languages using Message Passing Interface (MPI) are provided. For example, at the compiler level, point-to-point code segments may be identified and replaced with all-to-all code segments. Programming code may include X10, Chapel and other programming languages that support parallel for loop.
대표청구항
▼
1. A method executed by at least one processor device comprising: analyzing, using a compiler operated by the at least one processor device, one or more programming code segments to automatically recognize code fragments that correspond to one or more optimal code fragments for detecting that the on
1. A method executed by at least one processor device comprising: analyzing, using a compiler operated by the at least one processor device, one or more programming code segments to automatically recognize code fragments that correspond to one or more optimal code fragments for detecting that the one or more programming code segments need to be replaced, wherein the one or more optimal code fragments are one of point-to-point communication fragments and all-to-all communication fragments;accessing one or more programming libraries;identifying one or more inferior code fragments that correspond to one or more optimal code fragments within the one or more programming libraries;ascertaining what is being accomplished by the one or more programming code segments;determining if the one or more optimal code fragments is a correct type of code fragment for replacement and whether it is safe to replace the one or more inferior code fragments with the one or more optimal code fragments that are the correct type of code fragment using predetermined safety criteria; andreplacing the one or more inferior code fragments with the one or more optimal code fragments, wherein the one or more code segments are analyzed by a compiler, and if the compiler is not able to analyze the one or more code segments then option Message Passing Interface (MPI) library routine is utilized. 2. The method according to claim 1, wherein the one or more programming code segments are comprised of X10 programming code. 3. The method according to claim 1, further comprising determining what programming functions the one or more programming code segments perform. 4. The method according to claim 1, wherein the programming code segments utilize Message Passing Interface. 5. The method according to claim 4, wherein the inferior code fragments comprise point-to-point communication code fragments. 6. The method according to claim 4, wherein the one or more optimal code fragments comprise all-to-all communication fragments. 7. The method according to claim 6, wherein the all-to-all communication fragments comprise MPI_Alltoall. 8. The method according to claim 1, wherein if the compiler is weak then option MPI_Alltoallv is utilized. 9. A system comprising: one or more processors;a compiler operatively connected to the one or more processors; anda memory operatively connected to the one or more processors and the compiler;wherein, responsive to execution of computer readable program code accessible to the one or more processors, the one or more processors are configured to:analyze, using a compiler operated by the at least one processor device, one or more programming code segments to automatically recognize code fragments that correspond to one or more optimal code fragments for detecting that the one or more programming code segments need to be replaced, wherein the one or more optimal code fragments are one of point-to-point communication fragments and all-to-all communication fragments;access one or more programming libraries;identify one or more inferior code fragments that correspond to one or more optimal code fragments within the one or more programming libraries;ascertain what is being accomplished by the one or more programming segments;determine if the one or more optimal code fragments is a correct type of code fragment for replacement and whether it is safe to replace the one or more inferior code fragments with the one or more optimal code fragments that are the correct type of fragment using predetermined safety criteria; andreplace the one or more inferior code fragments with the one or more optimal code fragments, wherein the one or more code segments are analyzed by a compiler, and if the compiler is not able to analyze the one or more code segments then option Message Passing Interface (MPI) library routine is utilized. 10. The system according to claim 9, wherein the one or more programming code segments are comprised of X10 programming code. 11. The system according to claim 9, further comprising: determine what programming functions the one or more programming code segments perform. 12. The system according to claim 9, wherein the programming code segments utilize Message Passing Interface. 13. The method according to claim 12, wherein the inferior code fragments comprise point-to-point communication code fragments. 14. The system according to claim 12, wherein the one or more optimal code fragments comprise all-to-all communication fragments. 15. The system according to claim 14, wherein the all-to-all communication fragments comprise MPI_Alltoall. 16. A computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:computer readable program code configured to analyze, using a compiler operated by the at least one processor device, one or more programming code segments to automatically recognize code fragments that correspond to one or more optimal code fragments for detecting the one or more programming code segments needing to be replaced, wherein the one or more optimal code fragments are one of point-to-point communication fragments and all-to-all communication fragments;computer readable program code configured to access one or more programming libraries;computer readable program code configured to identify one or more inferior code fragments that correspond to one or more optimal code fragments within the one or more programming libraries;computer readable program code configured to ascertain what is being accomplished by the one or more programming code segments;computer readable program code configured to determine if the one or more optimal code fragments is a correct type of code fragment for replacement and whether it is safe to replace the one or more inferior code fragments with the one or more optimal code fragments that are the correct type of code fragment using predetermined safety criteria; andcomputer readable program code configured to replace the one or more inferior code fragments with the one or more optimal code fragments, wherein the one or more code segments are analyzed by a compiler, and if the compiler is not able to analyze the one or more code segments then option Message Passing Interface (MPI) library routine is utilized. 17. The computer program product according to claim 16, wherein the one or more programming code segments are comprised of X10 programming code. 18. The computer program product according to claim 16, further including computer readable program code configured to determine what programming functions the one or more programming code segments perform. 19. The computer program product according to claim 16, wherein the programming code segments utilize Message Passing Interface. 20. The computer program product according to claim 16, wherein the inferior code fragments comprise point-to-point communication code fragments. 21. The computer program product according to claim 16, wherein the one or more optimal code fragments comprise all-to-all communication fragments. 22. The computer program product according to claim 21, wherein the all-to-all communication fragments comprise MPI_Alltoall.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.