ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ
Intel® ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ
ಈ ಗೆಟ್ ಸ್ಟಾರ್ಟ್ ಡಾಕ್ಯುಮೆಂಟ್ ಮತ್ತು ಮೊದಲೇ ಸಂಗ್ರಹಿಸಿದ ಟ್ರೇಸ್ ಅನ್ನು ಬಳಸಿ file Intel® ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಮೂಲಭೂತ MPI ಕಾರ್ಯಕ್ಷಮತೆಯ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ನಡೆಯಲು.
ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಸಂದೇಶ ರವಾನಿಸುವ ಇಂಟರ್ಫೇಸ್ (MPI) ಬಳಕೆಯ ದಕ್ಷತೆಯನ್ನು ಅನ್ವೇಷಿಸಲು ಮತ್ತು ಸಂವಹನ ಹಾಟ್ಸ್ಪಾಟ್ಗಳು, ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅಡಚಣೆಗಳು ಮತ್ತು ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ ಅನ್ನು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಉತ್ಪನ್ನದ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಉತ್ಪನ್ನ ಪುಟವನ್ನು ನೋಡಿ.
ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ
- Intel® oneAPI HPC ಟೂಲ್ಕಿಟ್ನ ಭಾಗವಾಗಿ
- ಸ್ವತಂತ್ರ ಸಾಧನವಾಗಿ
ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು
- ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೊದಲು, ನೀವು ಇತ್ತೀಚಿನ Intel® MPI ಲೈಬ್ರರಿ ಮತ್ತು Intel® oneAPI DPC++/C++ ಕಂಪೈಲರ್ ಅಥವಾ Intel® Fortran ಕಂಪೈಲರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
- ಇದು ಕಂಪೈಲರ್ಗಳು, ಇಂಟೆಲ್ ಎಂಪಿಐ ಲೈಬ್ರರಿ ಮತ್ತು ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ಗಳಿಗೆ ಅಗತ್ಯವಾದ ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನೀವು ಸಿದ್ಧರಾಗಿರುವಿರಿ.
- ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನೋಡಿ: Intel® oneAPI HPC ಟೂಲ್ಕಿಟ್ ಸಿಸ್ಟಮ್ ಅಗತ್ಯತೆಗಳು.
ಕೆಲಸದ ಹರಿವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ
- ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚಿ
- ಹೆಚ್ಚು ಸಕ್ರಿಯ MPI ಕಾರ್ಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ
- ಸಮಸ್ಯಾತ್ಮಕ ಸಂವಹನಗಳನ್ನು ಗುರುತಿಸಿ
- ಸಮಸ್ಯೆಯನ್ನು ಉಂಟುಮಾಡುವ ಕಾರ್ಯವನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಿ
ನಿಮ್ಮ MPI ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚಿ
ಒಂದು ಜಾಡಿನ ರಚಿಸಿ file ಕೆಳಗಿನ ಅಪ್ಲಿಕೇಶನ್ ವರ್ತನೆಯ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಈವೆಂಟ್ ಲಾಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು.
- OneAPI ಅನುಸ್ಥಾಪನಾ ನಿರ್ದೇಶಕರಿಂದ setvars ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ Intel® ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಪರಿಸರವನ್ನು ಹೊಂದಿಸಿ
ಗಮನಿಸಿ
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಅನ್ನು ಲಿನಕ್ಸ್* ಓಎಸ್ ಮತ್ತು ಪ್ರೋಗ್ರಾಂಗೆ /opt/intel/oneapi/itac ಗೆ ಸ್ಥಾಪಿಸಲಾಗಿದೆ Files (x86)\Intel\oneAPI\itac\ಇತ್ತೀಚಿನ Windows* OS.
Linux ನಲ್ಲಿ:
$ ಮೂಲ /opt/intel/oneapi/setvars.sh
ವಿಂಡೋಸ್ನಲ್ಲಿ:
“ಸಿ:\ಪ್ರೋಗ್ರಾಂ Files (x86)\Intel\oneAPI\setvars.bat” - ನಿಮ್ಮ MPI ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡಿ ಮತ್ತು -trace ಆಯ್ಕೆಯೊಂದಿಗೆ ಟ್ರೇಸ್ ಅನ್ನು ರಚಿಸಿ.
Linux ನಲ್ಲಿ:
$ mpirun -trace -n 4 ./poisson_sendrecv.single
ವಿಂಡೋಸ್ನಲ್ಲಿ:
ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಟ್ರೇಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಿ.
Intel oneAPI DPC++/C++ ಕಂಪೈಲರ್ಗಾಗಿ, ರನ್ ಮಾಡಿ:
> mpiicc -ಟ್ರೇಸ್ poisson_sendrecv.single.c
ಇಂಟೆಲ್ ಫೋರ್ಟ್ರಾನ್ ಕಂಪೈಲರ್ಗಾಗಿ, ರನ್ ಮಾಡಿ:
> mpiifort -ಟ್ರೇಸ್ poisson_sendrecv.single.f
ಈ ಮಾಜಿample ಒಂದು ಜಾಡಿನ (stf*) ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆample poisson_sendrcv.single MPI ಅಪ್ಲಿಕೇಶನ್ - ರಚಿಸಿದ .stf ಅನ್ನು ತೆರೆಯಿರಿ file ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕದೊಂದಿಗೆ ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್.
Linux ನಲ್ಲಿ:
$ traceanalyzer ./ poisson_sendrecv.single.stf
ವಿಂಡೋಸ್ನಲ್ಲಿ:
ಟ್ರೇಸನಾಲೈಸರ್ poisson_sendrecv.single.stf
ಗಮನಿಸಿ
ಪರೀಕ್ಷಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ನೀವು ಮೊದಲೇ ಸಂಗ್ರಹಿಸಿದ ಟ್ರೇಸ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು file ಈ ಡಾಕ್ಯುಮೆಂಟ್ನಲ್ಲಿ ಬಳಸಲಾದ ವಿಷಕ್ಕಾಗಿ poisson_sendrecv.single.stf ಮತ್ತು ಅದನ್ನು ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ತೆರೆಯಿರಿ.
ದಿ .stf file ಸಾರಾಂಶ ಪುಟದಲ್ಲಿ ತೆರೆಯುತ್ತದೆ view, ಇದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಬಗ್ಗೆ ಸಾಮಾನ್ಯ ಮಾಹಿತಿಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ:ಗಮನಿಸಿ ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನೋಡಿ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ.
ಹೆಚ್ಚು ಸಕ್ರಿಯ MPI ಕಾರ್ಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ
MPI ಅಪ್ಲಿಕೇಶನ್ ನಡವಳಿಕೆಯನ್ನು ವಿಶ್ಲೇಷಿಸಿ, ಅಡಚಣೆಗಳನ್ನು ಕಂಡುಕೊಳ್ಳಿ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುವ ಮಾರ್ಗಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಧಾರಾವಾಹಿಯನ್ನು ಗುರುತಿಸಿ.
- ಸಾರಾಂಶ ಪುಟದಿಂದ ಈವೆಂಟ್ ಟೈಮ್ಲೈನ್ ತೆರೆಯಿರಿ view ಉನ್ನತ MPI ಕಾರ್ಯಗಳ ಆಳವಾದ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಮುಂದುವರಿಸಿ > ಚಾರ್ಟ್ಗಳು > ಈವೆಂಟ್ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ.
ಚಾರ್ಟ್ ಕಾಲಾನಂತರದಲ್ಲಿ ವೈಯಕ್ತಿಕ ಪ್ರಕ್ರಿಯೆ ಚಟುವಟಿಕೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.
ಅಪ್ಲಿಕೇಶನ್ ಕೆಲಸವು ಪುನರಾವರ್ತನೆಯಾಗಿದೆ, ಅಲ್ಲಿ ಪ್ರತಿ ಪುನರಾವರ್ತನೆಯು ಕಂಪ್ಯೂಟೇಶನಲ್ ಭಾಗ ಮತ್ತು MPI ಸಂವಹನಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. - ಅಗತ್ಯವಿರುವ ಸಮಯದ ಮಧ್ಯಂತರದಲ್ಲಿ ನಿಮ್ಮ ಮೌಸ್ ಅನ್ನು ಎಳೆಯುವ ಮೂಲಕ ಗಮನಹರಿಸಲು ಮತ್ತು ಜೂಮ್ ಮಾಡಲು ಒಂದೇ ಪುನರಾವರ್ತನೆಯನ್ನು ಗುರುತಿಸಿ:
ಕುರುಹು view ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ ಜಾಡಿನೊಳಗಿನ ವಿಭಾಗವನ್ನು ತೋರಿಸುತ್ತದೆ. ಈವೆಂಟ್ ಟೈಮ್ಲೈನ್ ಚಾರ್ಟ್ ಆಯ್ಕೆಮಾಡಿದ ಪುನರಾವರ್ತನೆಯ ಸಮಯದಲ್ಲಿ ಸಕ್ರಿಯವಾಗಿರುವ ಈವೆಂಟ್ಗಳನ್ನು ತೋರಿಸುತ್ತದೆ.
- ಸಮತಲ ಬಾರ್ಗಳು ಈ ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ಕರೆಯಲಾಗುವ ಕಾರ್ಯಗಳೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ.
- ಪ್ರಕ್ರಿಯೆಗಳ ನಡುವೆ ಕಳುಹಿಸಲಾದ ಸಂದೇಶಗಳನ್ನು ಕಪ್ಪು ಗೆರೆಗಳು ಸೂಚಿಸುತ್ತವೆ. ಈ ಸಾಲುಗಳು ಕಳುಹಿಸುವ ಮತ್ತು ಸ್ವೀಕರಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಂಪರ್ಕಿಸುತ್ತವೆ.
- ನೀಲಿ ರೇಖೆಗಳು ಸಾಮೂಹಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ಪ್ರಸಾರ ಅಥವಾ ಕಡಿಮೆ ಕಾರ್ಯಾಚರಣೆಗಳು.
- ಫ್ಲಾಟ್ ಪ್ರೊಗೆ ಬದಲಿಸಿfile ಟ್ಯಾಬ್ (ಎ) ನೀವು ಸಮಯ ಹಂತದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಯಗಳನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡಲು (ಈವೆಂಟ್ ಟೈಮ್ಲೈನ್ನಲ್ಲಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ.
- ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ MPI ಪ್ರಕ್ರಿಯೆ ಚಟುವಟಿಕೆಯನ್ನು ವಿಶ್ಲೇಷಿಸಲು MPI ಕಾರ್ಯಗಳನ್ನು ಅನ್ಗ್ರೂಪ್ ಮಾಡಿ.
ಇದನ್ನು ಮಾಡಲು, ಫ್ಲಾಟ್ ಪ್ರೊನಲ್ಲಿ ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳು > ಗುಂಪು MPI (B) ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿfile ಮತ್ತು UngroupMPI ಆಯ್ಕೆಮಾಡಿ. ಈ ಕಾರ್ಯಾಚರಣೆಯು ಪ್ರತ್ಯೇಕ MPI ಕರೆಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ. - ಪುನರಾವರ್ತನೆಯ ಪ್ರಾರಂಭದಲ್ಲಿ MPI_Sendrecv ಬಳಸಿಕೊಂಡು ಅವರ ನೇರ ನೆರೆಹೊರೆಯವರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ. ಉದಾಹರಣೆಗೆampಲೆ:
- ಎ. ಎಸ್ ನಲ್ಲಿample, MPI_Sendrecv ಡೇಟಾ ವಿನಿಮಯವು ಅಡಚಣೆಯನ್ನು ಹೊಂದಿದೆ: ಹಿಂದಿನದರೊಂದಿಗೆ ವಿನಿಮಯವು ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ ಪ್ರಕ್ರಿಯೆಯು ಅದರ ಮುಂದಿನ ನೆರೆಹೊರೆಯವರೊಂದಿಗೆ ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ. ಈವೆಂಟ್ ಟೈಮ್ಲೈನ್ಸ್ view ಈ ಅಡಚಣೆಯನ್ನು ಮೆಟ್ಟಿಲು ಎಂದು ತೋರಿಸುತ್ತದೆ.
- ಬಿ. ಪುನರಾವರ್ತನೆಯ ಕೊನೆಯಲ್ಲಿ MPI_Allreduce ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಮರುಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುತ್ತದೆ; ಅದಕ್ಕಾಗಿಯೇ ಈ ಬ್ಲಾಕ್ ಹಿಮ್ಮುಖ ಮೆಟ್ಟಿಲು ನೋಟವನ್ನು ಹೊಂದಿದೆ.
- ಪ್ರೊ ಫಂಕ್ಷನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸರಣಿಯನ್ನು ಗುರುತಿಸಿfile ಮತ್ತು ಸಂದೇಶ ಪ್ರೊfile views.
- ಎ. ಅದೇ ಸಮಯದಲ್ಲಿ ಚಾರ್ಟ್ಗಳನ್ನು ತೆರೆಯಿರಿ:
ಕಾರ್ಯದಲ್ಲಿ ಪ್ರೊfile ಚಾರ್ಟ್, ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸೆಟ್ಯಾಬ್ ಅನ್ನು ತೆರೆಯಿರಿ. - ಸಂದೇಶ ಪ್ರೊ ತೆರೆಯಲು ಚಾರ್ಟ್ಗಳ ಮೆನುಗೆ ಹೋಗಿfile.
- ಬಿ. ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸ್ ಟ್ಯಾಬ್ನಲ್ಲಿ, MPI_Sendrecv ಮತ್ತು MPI_Allreduce ಅನ್ನು ವಿಸ್ತರಿಸಿ. MPI_Sendrecv ನಲ್ಲಿ ಕಳೆದ ಸಮಯವು ಪ್ರಕ್ರಿಯೆಯ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಹೆಚ್ಚಾಗುತ್ತದೆ ಎಂದು ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ ಸೂಚಿಸುತ್ತದೆ, ಆದರೆ MPI_Allreduce ಸಮಯ ಕಡಿಮೆಯಾಗುತ್ತದೆ.
- ಸಿ. ಪ್ರೊ ಸಂದೇಶವನ್ನು ಪರೀಕ್ಷಿಸಿfile ಕೆಳಗಿನ ಬಲ ಮೂಲೆಯಲ್ಲಿ ಕೆಳಗೆ ಚಾರ್ಟ್ ಮಾಡಿ.
ಬ್ಲಾಕ್ಗಳ ಬಣ್ಣದ ಕೋಡಿಂಗ್ ಹೆಚ್ಚಿನ ಶ್ರೇಣಿಯಿಂದ ಕೆಳ ಶ್ರೇಣಿಗೆ ಪ್ರಯಾಣಿಸುವ ಸಂದೇಶಗಳಿಗೆ ಪ್ರಮಾಣಾನುಗುಣವಾಗಿ ಹೆಚ್ಚಿನ ಸಮಯ ಬೇಕಾಗುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಆದರೆ ಕಡಿಮೆ ಶ್ರೇಣಿಯಿಂದ ಉನ್ನತ ಶ್ರೇಣಿಗೆ ಪ್ರಯಾಣಿಸುವ ಸಂದೇಶಗಳು ದುರ್ಬಲ ಸಮ-ಬೆಸ ಮಾದರಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತವೆ:
- ಎ. ಅದೇ ಸಮಯದಲ್ಲಿ ಚಾರ್ಟ್ಗಳನ್ನು ತೆರೆಯಿರಿ:
ತುಲನಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆಯ ಫಲಿತಾಂಶಗಳು ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಯಾವುದೇ ಸಂಕೀರ್ಣ ವಿನಿಮಯ ಮಾದರಿಗಳಿಲ್ಲ ಎಂದು ತೋರಿಸುತ್ತದೆ, ವಿನಿಮಯವನ್ನು ನೆರೆಯ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಮಾತ್ರ ನಡೆಸಲಾಗುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್ನ ಸಂವಹನ ಮಾದರಿಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಸಂವಹನ ಹಂತವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಮಾಹಿತಿಯು ಅತ್ಯಗತ್ಯವಾಗಿರುತ್ತದೆ.
ಅಸಮತೋಲಿತ ಸಂವಹನಗಳನ್ನು ಗುರುತಿಸಿ
ಆದರ್ಶ ಸಂದರ್ಭಗಳಲ್ಲಿ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ಮೂಲ ಜಾಡಿನ ಹೋಲಿಕೆ ಮಾಡಿ file ಸಮಸ್ಯಾತ್ಮಕ ಸಂವಹನಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಆದರ್ಶೀಕರಿಸಿದ ಒಂದರೊಂದಿಗೆ.
- ಆದರ್ಶಪ್ರಾಯವನ್ನು ರಚಿಸಿ file:
- ಎ. ಸುಧಾರಿತ > ಐಡಿಯಲೈಸೇಶನ್ ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಕ್ಲಿಕ್ ಮಾಡಿ
(ಐಡಿಯಲೈಸೇಶನ್) ಟೂಲ್ಬಾರ್ ಬಟನ್.
- ಬಿ. ಐಡಿಯಲೈಸೇಶನ್ ಡೈಲಾಗ್ ಬಾಕ್ಸ್ನಲ್ಲಿ ಐಡಿಯಲೈಸೇಶನ್ ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ (ಐಡಿಯಲ್ ಟ್ರೇಸ್ file ಪರಿವರ್ತನೆಗಾಗಿ ಹೆಸರು ಮತ್ತು ಸಮಯ ಶ್ರೇಣಿ).
- ಸಿ. ನಿಮ್ಮ ಜಾಡನ್ನು ಆದರ್ಶೀಕರಿಸಲು ಪ್ರಾರಂಭಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ.
- ಎ. ಸುಧಾರಿತ > ಐಡಿಯಲೈಸೇಶನ್ ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಕ್ಲಿಕ್ ಮಾಡಿ
- ಮೂಲ ಜಾಡನ್ನು ಆದರ್ಶೀಕರಿಸಿದ ಜಾಡಿನೊಂದಿಗೆ ಹೋಲಿಕೆ ಮಾಡಿ:
- ಎ. ಸುಧಾರಿತ > ಅಸಮತೋಲನ ರೇಖಾಚಿತ್ರವನ್ನು ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಕ್ಲಿಕ್ ಮಾಡಿ
(ಅಸಮತೋಲನ ರೇಖಾಚಿತ್ರ) ಟೂಲ್ಬಾರ್ ಬಟನ್.
- ಬಿ. ಅಸಮತೋಲನ ರೇಖಾಚಿತ್ರದ ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ, ತೆರೆಯಿರಿ ಮತ್ತೊಂದು ಕ್ಲಿಕ್ ಮಾಡಿ File ಬಟನ್, ಆದರ್ಶೀಕರಿಸಿದ ಟ್ರೇಸ್ಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಆಯ್ಕೆಮಾಡಿ.
- ಸಿ. ಅಸಮತೋಲನ ರೇಖಾಚಿತ್ರ ವಿಂಡೋದಲ್ಲಿ, ಒಟ್ಟು ಮೋಡ್ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಬ್ರೇಕ್ಡೌನ್ ಮೋಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.
- ಎ. ಸುಧಾರಿತ > ಅಸಮತೋಲನ ರೇಖಾಚಿತ್ರವನ್ನು ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಕ್ಲಿಕ್ ಮಾಡಿ
MPI_Sendrecv ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವ ಕಾರ್ಯವಾಗಿದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು. ಅಸಮತೋಲನದ ತೂಕವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ
ತಿಳಿ ಬಣ್ಣ ಮತ್ತು MPI_Sendrecv ಕಾರ್ಯಕ್ಕಾಗಿ ಸುಮಾರು 10% ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ರಕ್ರಿಯೆಗಳು ಪರಸ್ಪರ ಕಾಯುವ ಸಮಯ ಇದು.
ಸಂವಹನಗಳನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಿ
- ನಿರ್ಬಂಧಿಸುವಿಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸದ ಸಂವಹನಗಳಿಗೆ ಬದಲಾಯಿಸುವ ಮೂಲಕ MPI ಅಪ್ಲಿಕೇಶನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಿ.
ನಿಮ್ಮ ಕೋಡ್ನಲ್ಲಿ MPI_Sendrcv ಸರಣಿಯನ್ನು ನಿರ್ಬಂಧಿಸದ ಸಂವಹನದೊಂದಿಗೆ ಬದಲಾಯಿಸಿ: MPI_Isend ಮತ್ತು MPI_Irecv. ಉದಾಹರಣೆಗೆample: ಮೂಲ ಕೋಡ್ ತುಣುಕು:
// ಗಡಿ ವಿನಿಮಯ
ಶೂನ್ಯ ವಿನಿಮಯ(ಪ್ಯಾರಾ* ಪಿ, ಗ್ರಿಡ್* ಜಿಆರ್){
ಇಂಟ್ i,j;
MPI_ಸ್ಥಿತಿ ಸ್ಥಿತಿ_100, ಸ್ಥಿತಿ_200, ಸ್ಥಿತಿ_300, ಸ್ಥಿತಿ_400;
// ಮೊದಲ ಸಾಲನ್ನು ಕೆಳಗೆ ಕಳುಹಿಸಿ
MPI_Send(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->down, 100, MPI_COMM_WORLD); MPI_Recv(gr->x_new[gr->lrow+1], gr->lcol+2, MPI_DOUBLE, gr->up, 100, MPI_COMM_WORLD,
&ಸ್ಥಿತಿ_100);
// ಕೊನೆಯ ಸಾಲನ್ನು ಕಳುಹಿಸಿ
MPI_Send(gr->x_new[gr->lrow], gr->lcol+2, MPI_DOUBLE, gr->up, 200, MPI_COMM_WORLD);
MPI_Recv(gr->x_new[0], gr->lcol+2, MPI_DOUBLE, gr->down, 200, MPI_COMM_WORLD, &status_200);
ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಹೋಲಿಕೆ ಬಳಸಿ view ಪರಿಷ್ಕೃತ ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ ಧಾರಾವಾಹಿಯ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೋಲಿಸಲು
// ಎಡ ಕಾಲಮ್ ಅನ್ನು tmp ಅರೇಗಳಿಗೆ ನಕಲಿಸಿ
if(gr->ಎಡ != MPI_PROC_NULL){
gr->x_new[i][gr->lcol+1] = right_col[i]; right_col[i] = gr->x_new[i][gr->lcol];
// ಬಲಕ್ಕೆ ಕಳುಹಿಸಿ
MPI_Send(right_col, gr->lrow+2, MPI_DOUBLE, gr->right, 400, MPI_COMM_WORLD); }
if(gr->ಎಡ != MPI_PROC_NULL)
{
MPI_Recv(left_col, gr->lrow+2, MPI_DOUBLE, gr->left, 400, MPI_COMM_WORLD,&status_400); ಫಾರ್(i=0; i< gr->lrow+2; i++
{
gr->x_new[i][0] = left_col[i];
}
}
ಕೋಡ್ ತುಣುಕನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ
MPI_Request req[7];
// ಮೊದಲ ಸಾಲನ್ನು ಕೆಳಗೆ ಕಳುಹಿಸಿ
MPI_Isend(gr->x_new[1], gr->lcol+2, MPI_DOUBLE, gr->down, 100, MPI_COMM_WORLD, &req[0]);
MPI_Irecv(gr->x_new[gr->lrow+1], gr->lcol+2, MPI_DOUBLE, gr->up, 100, MPI_COMM_WORLD, &req[1]);
…..
MPI_Waitall(7, req, MPI_STATUSES_IGNORE);
ಒಮ್ಮೆ ಸರಿಪಡಿಸಿದರೆ, ಪರಿಷ್ಕೃತ ಅಪ್ಲಿಕೇಶನ್ನ ಏಕ ಪುನರಾವರ್ತನೆಯು ಈ ಕೆಳಗಿನಂತೆ ಕಾಣುತ್ತದೆampಲೆ: - ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಹೋಲಿಕೆ ಬಳಸಿ view ಪರಿಷ್ಕೃತ ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗೆ ಧಾರಾವಾಹಿಯ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೋಲಿಸಲು. ಹೋಲಿಕೆಯ ಸಹಾಯದಿಂದ ಎರಡು ಕುರುಹುಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ View, ಹೋಗುವುದು View > ಹೋಲಿಸಿ. ಹೋಲಿಕೆ View ಇದೇ ರೀತಿ ಕಾಣುತ್ತದೆ:
ಹೋಲಿಕೆಯಲ್ಲಿ View, ನಿರ್ಬಂಧಿಸದ ಸಂವಹನವನ್ನು ಬಳಸುವುದು ಸರಣಿಯನ್ನು ತೆಗೆದುಹಾಕಲು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳ ಸಂವಹನದ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು.
ಗಮನಿಸಿ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ನೋಡ್-ಮಟ್ಟದ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ಸಂಬಂಧಿತ ಪರಿಕರಗಳಿಗಾಗಿ ದಸ್ತಾವೇಜನ್ನು ನೋಡಿ: Intel® VTune™ Profiler MPI ಕೋಡ್ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು Intel® ಸಲಹೆಗಾರರನ್ನು ಬಳಸಿಕೊಂಡು Intel® MPI ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವುದು.
ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ
ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಈ ಕೆಳಗಿನ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಅನ್ವೇಷಿಸಿ.
ಸೂಚನೆಗಳು ಮತ್ತು ಹಕ್ಕು ನಿರಾಕರಣೆಗಳು
- ಇಂಟೆಲ್ ತಂತ್ರಜ್ಞಾನಗಳಿಗೆ ಶಕ್ತಗೊಂಡ ಯಂತ್ರಾಂಶ, ಸಾಫ್ಟ್ವೇರ್ ಅಥವಾ ಸೇವಾ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಅಗತ್ಯವಿರಬಹುದು.
- ಯಾವುದೇ ಉತ್ಪನ್ನ ಅಥವಾ ಘಟಕವು ಸಂಪೂರ್ಣವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿರಲು ಸಾಧ್ಯವಿಲ್ಲ.
- ನಿಮ್ಮ ವೆಚ್ಚಗಳು ಮತ್ತು ಫಲಿತಾಂಶಗಳು ಬದಲಾಗಬಹುದು.
- © ಇಂಟೆಲ್ ಕಾರ್ಪೊರೇಷನ್. ಇಂಟೆಲ್, ಇಂಟೆಲ್ ಲೋಗೋ ಮತ್ತು ಇತರ ಇಂಟೆಲ್ ಗುರುತುಗಳು ಇಂಟೆಲ್ ಕಾರ್ಪೊರೇಷನ್ ಅಥವಾ ಅದರ ಅಂಗಸಂಸ್ಥೆಗಳ ಟ್ರೇಡ್ಮಾರ್ಕ್ಗಳಾಗಿವೆ. ಇತರ ಹೆಸರುಗಳು ಮತ್ತು ಬ್ರ್ಯಾಂಡ್ಗಳನ್ನು ಇತರರ ಆಸ್ತಿ ಎಂದು ಹೇಳಬಹುದು.
- ಈ ಡಾಕ್ಯುಮೆಂಟ್ನಿಂದ ಯಾವುದೇ ಬೌದ್ಧಿಕ ಆಸ್ತಿ ಹಕ್ಕುಗಳಿಗೆ ಯಾವುದೇ ಪರವಾನಗಿ (ಎಕ್ಸ್ಪ್ರೆಸ್ ಅಥವಾ ಸೂಚ್ಯವಾಗಿ, ಎಸ್ಟೊಪ್ಪೆಲ್ ಮೂಲಕ ಅಥವಾ ಬೇರೆ ರೀತಿಯಲ್ಲಿ) ನೀಡಲಾಗುವುದಿಲ್ಲ.
- ವಿವರಿಸಿದ ಉತ್ಪನ್ನಗಳು ವಿನ್ಯಾಸ ದೋಷಗಳನ್ನು ಹೊಂದಿರಬಹುದು ಅಥವಾ ಎರ್ರಾಟಾ ಎಂದು ಕರೆಯಲ್ಪಡುವ ದೋಷಗಳನ್ನು ಹೊಂದಿರಬಹುದು, ಇದು ಉತ್ಪನ್ನವು ಪ್ರಕಟಿತ ವಿಶೇಷಣಗಳಿಂದ ವಿಚಲನಗೊಳ್ಳಲು ಕಾರಣವಾಗಬಹುದು. ಪ್ರಸ್ತುತ ಗುಣಲಕ್ಷಣದ ದೋಷಗಳು ವಿನಂತಿಯ ಮೇರೆಗೆ ಲಭ್ಯವಿದೆ.
- Intel ಎಲ್ಲಾ ಎಕ್ಸ್ಪ್ರೆಸ್ ಮತ್ತು ಸೂಚಿತ ವಾರಂಟಿಗಳನ್ನು ನಿರಾಕರಿಸುತ್ತದೆ, ಮಿತಿಯಿಲ್ಲದೆ, ವ್ಯಾಪಾರದ ಸೂಚಿತ ವಾರಂಟಿಗಳು, ನಿರ್ದಿಷ್ಟ ಉದ್ದೇಶಕ್ಕಾಗಿ ಫಿಟ್ನೆಸ್, ಮತ್ತು ಉಲ್ಲಂಘನೆಯಾಗದಿರುವುದು, ಹಾಗೆಯೇ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕೋರ್ಸ್, ವ್ಯವಹರಿಸುವ ಕೋರ್ಸ್ ಅಥವಾ ವ್ಯಾಪಾರದಲ್ಲಿನ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಖಾತರಿ.
ದಾಖಲೆಗಳು / ಸಂಪನ್ಮೂಲಗಳು
![]() |
intel ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ [ಪಿಡಿಎಫ್] ಬಳಕೆದಾರ ಮಾರ್ಗದರ್ಶಿ ಇಂಟೆಲ್ ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ, ಇಂಟೆಲ್, ಟ್ರೇಸ್ ವಿಶ್ಲೇಷಕ ಮತ್ತು ಕಲೆಕ್ಟರ್, ಕಲೆಕ್ಟರ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ |