이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 xmpi입니다.
프로그램:
이름
XMPI - X Window MPI 사용자 인터페이스
통사론
xmpi [-h] [ ]
기술
XMPI MPI 프로그램 실행, MPI 프로세스 모니터링 및
메시지 및 실행 추적 파일 보기. 다음의 디버깅 기능을 이용합니다.
UNIX 클러스터용 병렬 컴퓨팅 환경인 LAM. XMPI 에서 구성됩니다
모티프 위젯 세트.
XMPI LAM 세션을 시작하기 위한 인터페이스를 제공하지 않습니다. 이것은 성취되어야 한다
실행하기 전에 XMPI, 그 자체로 LAM 프로그램입니다. LAM이 있던 부트 스키마
에 제공할 수 있습니다(해야 합니다). XMPI 의 인벤토리로 표시될 수 있도록
프로그램이 실행될 수 있는 노드. 만약에 XMPI 추적 파일을 보는 데만 사용할 수 있습니다.
LAM을 시작할 필요가 없습니다.
이 설명은 MPI의 기본 지식을 가정합니다.
전형적인 사용법
XMPI MPI 애플리케이션 내의 프로세스 상태를 그래픽으로 표시합니다.
상태 정보는 실행 중인 애플리케이션이 시작된 두 소스 중 하나에서 가져옵니다.
XMPI 또는 추적된 MPI 응용 프로그램의 추적 데이터가 포함된 파일. 언제 XMPI is
시작되면 최상위 개요 창이 비어 있습니다. 응용 프로그램이 시작되거나
추적 파일이 로드되면 개요 창이 타일로 된 육각형 그룹으로 채워집니다.
하나의 MPI 프로세스의 상태를 나타내며 내 프로세스 순위로 레이블이 지정됩니다.
MPI_COMM_WORLD. 신호등 기호는 프로세스가 실행 중인지 또는
막힌. 완료되었거나 아직 완료되지 않은 프로세스에는 신호등이 표시되지 않습니다.
MPI 라이브러리를 초기화했습니다.
실행 중인 애플리케이션을 모니터링할 때 카메라 "Snap" 버튼 또는 "Snapshot" 항목은
"응용 프로그램" 메뉴는 모든 프로세스에 대한 상태 정보를 언제든지 업데이트합니다. 언제
트레이스 데이터 보기 상태 정보는 현재 선택한 항목에 따라 업데이트됩니다.
시점("XMPI 추적 파일" 참조).
육각형 내부를 마우스로 클릭하면 더 자세한 내용이 포함된 추가 창이 나타납니다.
프로세스에 대한 정보. 프로세스가 차단된 경우 함수 이름, 피어 프로세스
순위, 커뮤니케이터, 메시지 태그 및 요소 수가 표시됩니다. 메시지를 받지 못한 경우
사용 가능, 수량, 소스 프로세스 순위, 커뮤니케이터, 메시지 태그 및 요소
카운트가 표시됩니다. 화면에 몇 개의 프로세스 창을 남겨두면 사용자가 집중할 수 있습니다.
작고 관리 가능한 오작동 프로세스 모음에 대한 디버깅.
"Clean" 버튼 또는 "Application" 메뉴의 "Clean" 항목은 응용 프로그램을 종료하고
개발 주기를 반복할 수 있습니다. 이전 응용 프로그램은 다음을 사용하여 다시 실행할 수 있습니다.
"응용 프로그램" 메뉴의 "재실행" 버튼 또는 "재실행" 항목.
달리는 AN 신청
애플리케이션 스키마는 각 프로세스의 프로그램 이름을 나열하여 MPI 애플리케이션을 지정합니다.
프로그램 위치, 대상 프로세서 및 선택적 명령줄 인수.
"응용 프로그램" 메뉴의 "찾아보기 및 실행" 항목은 선택을 위한 간단한 파일 브라우저 팝업을 표시합니다.
미리 작성된 애플리케이션 스키마를 실행합니다. 또는 애플리케이션 스키마는 다음과 같을 수 있습니다.
로 구성 XMPI "Build&Run" 항목에 의해 호출되는 애플리케이션 빌더 대화 상자
"응용 프로그램" 메뉴.
빌더 대화 상자에는 각 프로세스를 지정하는 영역과 추가할 화살표 버튼이 있습니다.
스크롤 목록의 화살표 버튼 아래에 표시되는 애플리케이션 스키마. 그만큼
목록의 줄은 다음을 사용하여 동일한 응용 프로그램을 만드는 데 사용되는 구문을 보여줍니다.
텍스트 편집기. 실제로 "저장" 버튼은 나중을 위해 애플리케이션 스키마를 파일에 저장합니다.
사용 및/또는 편집.
지정된 프로세스는 화살표(커밋)가 표시될 때까지 애플리케이션의 일부가 되지 않습니다.
버튼을 눌렀습니다. 응용 프로그램 스크롤 목록에 나타나면 프로세스를
그것을 선택하고 열쇠.
응용 프로그램 목록에 있는 항목에서 "실행" 버튼을 누르면 해당 응용 프로그램이
실행됩니다. 그러면 개요 창이 응용 프로그램의 상태로 초기화됩니다.
프로그램 스펙
빌더 대화 상자 중간에 있는 파일 브라우저는 프로그램 파일을 선택하는 데 도움이 됩니다. 그만큼
브라우저는 실행 중인 노드의 파일 공간만 탐색합니다. XMPI. 프로그램이 있는 경우
파일 공간 외부의 다른 노드(NFS 외부 등)에서 해당 경로 이름이
프로세스 사양 영역에 입력됩니다. "전체 경로 이름 사용" 토글 선택
버튼을 누르면 프로그램이 전체 경로 이름으로 응용 프로그램 스키마에 배치됩니다.
XMPI 프로그램 소스 노드의 선택을 실행 중인 노드로 제한합니다. XMPI 또는
대상 노드를 처리합니다. 후자의 경우가 기본값이며 LAM이 가장 효율적입니다.
소스에서 대상 노드로 프로그램을 전송할 필요가 없습니다. "전송 프로그램"
토글 버튼은 소스 노드 정책을 선택합니다.
배수 프로그램 사본
실행할 프로그램의 부수는 프로세스 지정 영역에서 설정할 수 있습니다.
증가 또는 감소 화살표를 클릭하면 카운트가 하나씩 증가하거나 감소합니다.
Shift 키를 누른 상태에서 클릭하면 XNUMX씩 증가하거나 감소합니다.
명령줄 인수
명령줄 인수는 프로세스 사양 영역에 입력해야 합니다.
노드 스펙
부팅 스키마는 LAM 다중 컴퓨터에서 노드로 참여하는 컴퓨터를 지정합니다. 만약에
XMPI 부트 스키마 파일 이름이 주어지면 그 내용은
빌더 대화 상자의 오른쪽. XMPI 로컬에서 주어진 스키마를 검색합니다.
예배 규칙서. 부트 스키마 파일 이름은 해당 노드 목록 위에 표시됩니다. 다수의
대상 노드는 해당 노드 니모닉을 사용하여 스크롤 목록에서 선택할 수 있습니다.
프로세스 사양 영역에 나타납니다. 여러 대상 노드를 선택하면 다음이 지정됩니다.
프로그램 이름, 인수 및 소스 노드 정책이 일정하게 유지되는 여러 프로세스.
부트 스키마가 지정되지 않은 경우 특수 노드 선택기 "LOCAL"(노드
그 위에 XMPI is running) 및 "ALL NODES"가 제공됩니다.
대상 노드 설명은 프로세스 사양 영역에 직접 입력할 수도 있습니다.
로컬 노드는 다음과 같이 지정됩니다. h. 시스템이 부팅된 원본 노드입니다.
로컬이 아니며 다음과 같이 지정할 수 있습니다. o. 사용 가능한 모든 노드는 다음과 같이 지정됩니다. N. 노드는
일반적으로 다음과 같이 식별 N , 어디 단일 노드 식별자 또는 목록일 수 있습니다.
노드 식별자. 식별자는 XNUMX진수 또는 XNUMX진수 표기법으로 작성할 수 있습니다.
예로는 n1 or n0-7,0x10.
실행 시간 옵션
다양한 런타임 옵션으로 애플리케이션을 실행하여 MPI의 동작을 지정할 수 있습니다.
도서관. 이들은 다음에서 활성화되는 별도의 대화 상자에서 구성할 수 있습니다.
"옵션" 메뉴의 "런타임" 항목. 옵션은 변경될 때까지 유효합니다.
· 추적 모드(기본적으로 활성화됨)
· 빠른 클라이언트 대 클라이언트 통신(기본적으로 비활성화됨)
· GER 프로토콜 및 오류 감지(기본 활성화)
· 동종 LAM 노드 최적화(기본값 비활성화)
초점 ON A 방법
마우스 왼쪽 버튼을 클릭하면 프로세스 상태에 대한 자세한 정보를 얻을 수 있습니다.
프로세스 육각형 내에서. 초점 창이 나타납니다. 초점의 상단 영역
창은 프로세스 영역이며 프로세스의 현재 상태를 표시합니다. 더 낮은 지역
메시지 영역이며 프로세스의 메시지 큐에 대한 정보를 표시합니다.
포커스 창 배너에는 클릭하여 창을 닫을 수 있는 압정 버튼이 있습니다.
프로그램 이름과 함께 프로세스의 ID를 포함하는 레이블. ~ 안에 XMPI
프로세스는 MPI_COMM_WORLD에서의 순위와 프로세스가
슬래시 다음에 현재 프로세스의 순위가 오는 통신
전달자. 초점 창을 다시 한 번 클릭하여 닫을 수도 있습니다.
프로세스 육각형.
프로세스 영역은 이름과 함께 프로세스의 현재 상태를 설명합니다.
(적절한 경우) 현재 실행 중인 MPI 함수에 대한 인수. 레이아웃은
상당히 자명하며 덜 분명한 기능만 설명합니다.
전달자 식별
"comm" 영역은 현재 MPI 기능에서 사용 중인 커뮤니케이터를 보여줍니다.
커뮤니케이터는 MPI가 의미 있고 인쇄 가능한 형태로 식별하지 않는 불투명한 개체입니다.
방법. LAM의 MPI 구현은 커뮤니케이터에 간단한 숫자 식별자를 추가합니다.
~에 표시됩니다. XMPI ~처럼 어디 x 식별자입니다. 이 식별자는 다음과 일치할 수 있습니다.
LAM 기능이 있는 MPI 프로그램의 커뮤니케이터 변수, MPIL_Comm_id(2).
그룹 멤버쉽
"comm" 영역의 오른쪽에 있는 버튼은 개요 창에서 강조 표시됩니다.
커뮤니케이터의 프로세스 육각형. 인트라커뮤니케이터의 경우 육각형
"lcomCol" 리소스에서 지정한 색상으로 강조 표시됩니다. 에 대한
인터커뮤니케이터, 로컬 그룹의 프로세스는 지정된 색상으로 강조 표시됩니다.
"lcomCol" 자원 및 원격 그룹에 있는 자원에 의해 지정된 색상
"rcomCol" 자원. 강조 표시된 프로세스의 경우 맨 아래에 있는 프로세스 식별
육각형은 MPI_COMM_WORLD의 순위로 변경되고 슬래시와 순위가 뒤따릅니다.
커뮤니케이터에서 강조 표시됩니다.
데이터 형식
"cnt" 영역 오른쪽에 있는 데이터 유형 버튼이 데이터 유형 창에 표시됩니다.
("DATATYPE WINDOW" 참조) 현재 MPI 함수에 대한 데이터 유형 인수의 유형 맵.
메시지 영역은 메시지 큐의 현재 상태를 설명합니다.
처리하고 아직 받지 못했습니다. 다시 한 번 레이아웃은 매우 자명하며 우리는
덜 분명한 기능만 설명하십시오.
관심 있는 분야를 알려주세요(선택사항) 집합
전달되지 않은 동일한 메시지가 집계됩니다. "복사" 영역에는
표시되는 집계 내의 메시지, 그 뒤에 총 메시지 수가 표시됩니다.
대기줄. "복사" 영역 오른쪽에 있는 버튼은 메시지 집계를 순환합니다.
출처 계급
"src" 영역은 MPI_COMM_WORLD 내에서 소스 프로세스의 순위를 보여줍니다.
메시지가 전송된 커뮤니케이터에서 소스 프로세스의 순위입니다.
데이터 형식
"cnt" 영역의 오른쪽에 있는 데이터 유형 버튼은 데이터 유형 창에 표시됩니다.
메시지 데이터 유형의 유형 맵.
그룹 멤버쉽
"comm" 영역의 오른쪽에 있는 버튼은 메시지 커뮤니케이터를 강조 표시합니다.
앞에서 설명한 방식.
XMPI 자취 파일
XMPI 기존 추적 파일을 보는 데 사용할 수 있으며 다음에 대한 추적 파일을 만드는 데 사용할 수 있습니다.
아래에서 실행되는 응용 프로그램 XMPI.
기존 추적 파일을 로드하고 보려면 "Trace" 메뉴에서 "View" 항목을 선택하십시오.
응용 프로그램이 아래에서 실행되는 경우 XMPI 추적이 활성화된 경우(기본값) LAM은
애플리케이션. 추적 데이터를 보기 전에 XMPI 파일로 덤프해야 합니다.
"Trace" 메뉴에서 "Dump" 항목을 선택하면 됩니다. 메시지가 표시됩니다
파일 이름. 관례에 따라 XMPI 추적 파일에는 ".lamtr" 접미사가 있습니다. 추적 파일은
위에 설명된 대로 로드하여 볼 수 있습니다. 바로 가기로 "Express" 항목을 선택하십시오.
"추적" 메뉴를 선택하거나 개요 창에서 "추적" 버튼을 클릭합니다. 이것
추적 데이터를 임시 파일로 덤프한 다음 볼 수 있도록 파일을 즉시 로드합니다.
나중에 보기 위해 추적 데이터를 저장하기로 결정한 경우 이를 덤프해야 합니다.
"Trace" 메뉴에서 "Dump" 항목을 사용합니다. 추적 데이터를 파일로 덤프해도 제거되지 않음
모든 추적 데이터 및 후속 덤프에는 시작부터 모든 추적 데이터가 포함됩니다.
투기시까지 신청. "Clean"을 통해 애플리케이션 종료
버튼 또는 메뉴 항목은 모든 추적 데이터를 제거합니다.
추적을 보는 동안 XMPI에서 이전에 시작한 응용 프로그램은 계속해서 실행됩니다.
배경. 추적 창을 닫을 때 XMPI는 다음과 같은 경우 스냅샷 모드로 돌아갑니다.
실행 중인 응용 프로그램이 있습니다.
여러 세그먼트가 포함된 추적 파일을 로드할 때(참조 MPIL_Trace_on(2)과하면
MPIL_Trace_off(2)) 보려는 세그먼트의 번호를 묻는 메시지가 나타납니다.
나중에 다른 세그먼트를 보려면 추적 파일을 다시 로드하고 다음을 지정하십시오.
프롬프트가 표시되면 새 세그먼트 번호입니다. 다시 로드는 "보기" 또는 "빠른" 항목을 통해 수행됩니다.
"추적" 메뉴에서.
의사 소통 연혁 창
타임라인 창 상단에는 제어 및 정보 영역이 있습니다. 추적 데이터
추적된 애플리케이션의 프로세스당 하나씩 타임라인에서 이 아래에 표시됩니다. 그만큼
특정 시간에 애플리케이션의 상태는 해당 트래픽으로 표시됩니다.
밝은 색. 녹색은 실행 중을 나타내고 빨간색은 차단된 통신 대기를 나타냅니다.
노란색은 통신이 차단되지 않은 MPI 기능 내에서 소요된 시간을 나타냅니다(우리는
일반적으로 데이터 변환을 수행하는 시간을 나타내므로 이 시스템 오버헤드 시간을 호출합니다.
메시지 패킹 등).
다이얼을 사용하여 프로세스 상태가 표시되는 시점을 선택할 수 있습니다.
표시됩니다. 개요 창에서 다이얼 시간의 프로세스 상태가 다음과 같이 표시됩니다.
육각형. 스냅샷 모드와 마찬가지로 프로세스에 대한 더 자세한 정보는
포커스 창을 불러와 얻을 수 있습니다. 다이얼은 왼쪽 클릭으로 이동할 수 있습니다.
트레이스 뷰 영역 또는 VCR 컨트롤을 통해 버튼을 누르십시오. VCR 컨트롤 아래에는
왼쪽에서 오른쪽으로 표시되는 타임라인의 왼쪽 가장자리의 시간,
현재 다이얼 시간과 표시된 타임 라인의 오른쪽 가장자리 시간.
VCR 컨트롤 오른쪽에 현재 배율이 표시됩니다. 추적할 때
파일이 로드됨 XMPI 초기 배율 인수를 선택하고 이를 1x1로 설정합니다.
확대. 줌 및 줌 해제를 사용하여 배율을 높이거나 낮출 수 있습니다.
버튼.
현재 표시된 타임라인의 세그먼트는 오른쪽 마우스를 드래그하여 선택할 수 있습니다.
타임라인 표시 영역의 버튼. 오른쪽 버튼에서 손을 떼면 디스플레이가
선택한 세그먼트를 표시하도록 확대되었습니다. 진행 중인 끌기를 취소하려면 커서를 위로 끌거나
타임라인 표시 영역 밖으로 내립니다.
방법 의사 소통 Is 대표자
집단적인
연속적인 라인 세그먼트로 각 프로세스에 대한 집합적 커뮤니케이션을 나타냅니다.
시스템 오버헤드에 소요된 시간과 대기하는 데 소요된 시간을 보여줍니다.
의사소통. 참여하는 프로세스를 연결하는 선이 그려지지 않습니다.
집단 커뮤니케이션.
Blocking_point_to_point
전송 및 수신 프로세스 모두에 대해 연속적인 선 세그먼트가 그려집니다.
시스템 오버헤드에 소요된 시간 및 통신 대기가 차단된 시간
완료합니다. 송신과 수신을 연결하는 선이 그려집니다. 그것은에서 유래
송신 세그먼트의 시작과 일치하는 수신의 끝에 그려집니다.
세그먼트.
Non-blocking_point_to_point
비차단 전송 또는 수신이 시작될 때 시스템 오버헤드 세그먼트는
그어진. 대기 또는 테스트를 통해 통신이 완료되면 표시되는 세그먼트
시스템 오버헤드 및 차단 시간이 그려집니다. 일치하는 센드 사이에 선이 그려집니다.
수신합니다. 단, 이 경우를 제외하고 선은 송신이 있는 세그먼트에서 그려집니다.
해당 수신이 완료된 위치에서 시작되었습니다.
대기 및 테스트
대기/테스트 기능 내에서 논블로킹 통신이 완료된 경우 XMPI 결제 게이트웨이,
포커스 창에 함수 이름을 wait/test 함수 뒤에 표시합니다.
완료되는 송수신 기능으로 괄호. 예를 들어
MPI_Issend()는 MPI_Wait() 내에서 완료되며 함수는 다음을 읽습니다. MPI_대기
(MPI_발송).
누락_추적
트레이스 세그먼트의 사용 또는 오버플로 트레이스의 삭제로 인해(참조
램트레이스(1)) 추적에서 일치하지 않는 전송 또는 수신 추적이 있을 수 있습니다.
데이터. 이 경우 짧은 스텁 라인이 센드에서 인출되거나 리시브로 인출됩니다.
키비아트 창
추적 파일을 볼 때 "Trace" 메뉴의 "Kiviat" 버튼 또는 "Kiviat" 항목
Kiviat 창을 불러옵니다. 이 창은 세그먼트 파이 차트 형식으로 다음을 표시합니다.
실행 중인 각 프로세스가 소비한 현재 다이얼 시간까지의 누적 시간,
오버헤드 및 차단 상태.
메세지 SOURCE 매트릭스
메시지 소스 창에는 프로세스 메시지 대기열 길이의 정사각 행렬이 표시됩니다. 을 위한
각 프로세스는 대기중인 서로 다른 프로세스의 메시지 수를 보여줍니다.
애플리케이션. 실행 중인 애플리케이션을 모니터링하거나 보는 동안 불러올 수 있습니다.
"매트릭스" 버튼 또는 "추적" 메뉴의 "매트릭스" 항목을 선택하여 추적 파일.
데이터 형식 창
데이터 유형 창은 MPI 데이터 유형의 유형 맵을 텍스트로 표시합니다.
이 창은 언제든지 특정 프로세스 및 모드와 연결됩니다. 그만큼
관련된 프로세스는 창의 배너에 표시되고 모드는 트래픽으로 표시됩니다.
창의 왼쪽 부분에 표시되는 표시등 또는 메시지 대기열 아이콘. 프로세스 모드일 때
표시되는 데이터 유형이 있는 경우 MPI 함수의 데이터 유형 인수입니다. 프로세스
실행 중입니다. 메시지 모드에 있을 때 데이터 유형은 현재 메시지 집계의 데이터 유형입니다.
프로세스 포커스 창에서 선택되었습니다. 프로세스와 모드 간 전환이 이루어집니다.
프로세스 포커스 창의 데이터 유형 버튼을 통해.
유형 맵이 기본 크기 창에 완전히 맞지 않을 수 있습니다. 단순히 크기를 조정
전체 맵을 볼 수 있는 창입니다.
스위칭 정보 SOURCES
XMPI 현재 실행 중인 응용 프로그램에서 정보를 수집하고 표시합니다.
또는 추적 파일. 에서 응용 프로그램이 시작되면 XMPI, 정보 출처는
응용 프로그램을 실행하고 "Snap" 버튼이 활성화됩니다. 응용 프로그램이 될 수 있지만
추적 데이터를 생성하는 "Snap" 버튼은 이를 사용하지 않고 대신 정보를 얻습니다.
MPI 구현의 디버깅 후크에서. 언제든지 기존 추적 파일이
에 로드 XMPI 또는 현재 축적된 추적 데이터를 MPI에서 가져올 수 있습니다.
구현하고 파일에 저장하고 로드합니다. 이 조치는 정보 소스를 변경합니다.
로드된 추적 파일에. 정보 표시는 이제 다이얼에서 제어됩니다.
현재 비활성화된 "Snap" 버튼이 아니라 타임라인 창입니다. 비록
애플리케이션이 계속 실행 중일 수 있으며 타임라인 다이얼은 런타임 디버깅을 사용하지 않습니다.
후크하지만 대신 로드된 추적 파일에서 정보를 얻습니다. 마감시
추적 창 XMPI는 실행 중인 응용 프로그램이 있는 경우 스냅샷 모드로 돌아갑니다.
리소스
XMPI 다음 애플리케이션 리소스를 정의합니다.
도움말을 제공하기 위해 실행되는 XMPI.helpCmd 명령입니다. 기본값은 일반적으로
도움말 페이지를 보기 위해 웹 브라우저를 실행하는 명령입니다. 당신은해야
즐겨찾는 브라우저를 호출하려면 이것을 변경하십시오.
육각형의 XMPI.rankFont 프로세스 순위 글꼴
XMPI.msgFont 육각형의 총 메시지 수 글꼴(에 맞게 조정해야 할 수도 있음)
내부 메시지 아이콘)
XMPI.lcomCol 색상은 인트라커뮤니케이터 또는
인터커뮤니케이터의 로컬 그룹
원격 그룹의 프로세스를 강조 표시하는 데 사용되는 XMPI.rcomCol 색상
인터커뮤니케이터
확대/축소 선택 고무 밴드에 사용되는 XMPI.bandCol 색상
True인 경우 XMPI.bandDash 점선 고무 밴드를 사용하여 확대/축소 선택 항목을 표시합니다.
그렇지 않으면 실선을 사용하십시오.
확대/축소 선택 고무 밴드의 XMPI.bandWidth 너비
XMPI 응용 프로그램 기본 파일인 XMPI에서 중요한 기본 리소스를 가져옵니다. 이 경우
파일이 X11 기본 디렉토리에 설치되지 않은 경우 해당 디렉토리를 다음 위치에 추가할 수 있습니다.
XAPPLRESDIR 환경 변수.
제한 사항
애플리케이션은 다음에 의해 시작되어야 합니다. XMPI 그것에 의해 모니터링됩니다.
스냅샷 모드에서 빠른 클라이언트 간 통신 모드 프로세스 상태를 사용하는 경우
항상 실행 중인 것으로 표시되며 프로세스 포커스에 유용한 정보가 표시되지 않습니다.
창.
XMPI 사용 램클린(1). 이 도구에서 보고된 오류는 여전히 표준 출력으로 인쇄됩니다.
짧은 메시지가 XMPI 오류 대화 상자.
onworks.net 서비스를 사용하여 xmpi 온라인 사용