Visit

VisIt
Visit
Rayleigh-Taylor instability.jpg
VisIt에 의해 시각화된 Rayleigh-Taylor 불안정성의 이미지
개발자로렌스 리버모어 국립 연구소
안정적 해제
3[1].2.0 / 2021년[2] 4월
기록 위치C, C++
운영 체제Unix/Linux, Mac OS X, Microsoft Windows
유형과학적 시각화, 대화형 시각화
면허증BSD
웹사이트[1]

VisIt는 과학 데이터를 보기 위한 오픈 소스 대화형 병렬 시각화 및 그래픽 분석 툴이다.2D3D 정형 및 비정형 메쉬에 정의된 스칼라벡터 필드를 시각화하는 데 사용할 수 있다.VisIt는 테라스케일 범위의 매우 큰 데이터 세트 크기를 처리하도록 설계되었으며 킬로바이트 범위의 작은 데이터 세트도 처리할 수 있다.[3]

역사

VisIt는 에너지부(DOE) ASCI(Advanced Simulation and Computing Initiative)가 테라스케일 시뮬레이션 결과를 시각화하고 분석하기 위해 개발했다.맞춤형 기능을 추가하고 새로운 시각화 기술을 신속하게 구현하기 위한 프레임워크로 개발됐다.초기 프로토타입 작업 후 VisIt에 대한 작업은 2000년 여름부터 시작되었으며, VisIt의 초기 버전은 2002년 가을에 출시되었다.VisIt 개발의 주된 원동력은 매우 큰 데이터를 시각화하는 것이었지만, 데스크톱 시스템의 일반적인 시뮬레이션에서 데이터를 시각화하는 것에도 잘 적합하다.Terascale 데이터의 시각화를 넘어 적용 가능하기 때문에 VisIt를 자유롭게 사용할 수 있다.2005년에는 R&D 100상을 수상하였다.[4][5]

VisIt는 이제 DOE의 SciDAC(Scientific Discovery With Advanced Computing)[6] 프로그램에 의해 지원되어 개방형 과학 컴퓨팅에 의해 생성된 대규모 데이터셋의 분석과 시각화를 돕는다.이와 같이 현재는 오크리지 국립 연구소, 로렌스 버클리 국립 연구소, 캘리포니아 대학교 데이비스 등 많은 단체들에 의해 부분적으로 개발되고 있다.VisIt는 오픈 소스고 BSD 라이선스에 따라 출시되기 때문에 다른 많은 사람들도 기여를 했다.

요약

VisIt는 대규모 시뮬레이션 및 실험 데이터 세트를 위한 오픈 소스, 턴키 애플리케이션이다.그것의 헌장은 예쁜 그림을 넘어선다; 이 애플리케이션은 엄청나게 큰 데이터 세트의 병렬화된 일반 후 처리를 위한 인프라다.대상 활용 사례로는 데이터 탐색, 비교 분석, 시각 디버깅, 정량 분석, 프레젠테이션 그래픽 등이 있다.

VisIt 제품은 많은 소프트웨어 개발자들의 노력을 단일 패키지로 전달한다.첫째, VisIt는 사용자 인터페이스를 위한 Qt 위젯 라이브러리, 명령줄 통역기를 위한 Python 프로그래밍 언어, 데이터 모델 및 많은 시각화 알고리즘을 위한 VTK(Visualization ToolKit) 라이브러리 등 여러 타사 라이브러리를 활용한다.게다가, VisIt 자체의 개발에 50년 이상의 추가 노력이 투입되었다.VisIt별 노력은 주로 대규모 데이터셋에 대한 병렬화, 사용자 인터페이스, 맞춤형 데이터 분석 루틴 구현, 비표준 데이터 모델(적응형 메시 정교화(AMR) 및 혼합 재료 구역 등) 해결 및 견고한 전체 제품 창출에 집중되어 왔다.VisIt는 150만 줄 이상의 코드를 구성하며, 제3자 라이브러리에는 추가로 100만 줄의 코드가 있다.SGIAltix, Cray의 XT4 및 많은 범용 클러스터비롯하여 AIX, IRIX, Solaris, Tru64, Linux를 비롯한 많은 유닉스 변종에 포팅되었다.

기본 설계는 서버가 병렬화되는 클라이언트-서버 모델이다.클라이언트-서버 측면은 원격 설정에서 효과적인 시각화를 가능하게 하고, 서버의 병렬화는 가장 큰 데이터 세트를 합리적으로 상호작용적으로 처리할 수 있게 한다.이 도구는 2070억 개의 데이터 포인트 구조화된 그리드, 10억 개의 포인트 입자 시뮬레이션, 수억 개에서 수십억 개의 요소가 있는 곡선, 비정형, AMR 메쉬 등 많은 대형 데이터 세트를 시각화하는 데 사용되어 왔다.서버의 가장 일반적인 형태는 파일에서 데이터를 읽는 독립 실행형 프로세스다.그러나 시뮬레이션 코드가 "lib-VisIt"에서 링크되어 서버가 될 수 있는 대체 형태가 존재하여 상황 시각화 및 분석이 가능하다.

VisIt는 상호운용 가능한 모듈이 연결되어 맞춤형 분석을 수행하는 데이터 흐름 네트워크 패러다임을 따른다.이 모듈들은 VisIt의 5가지 기본 사용자 인터페이스 추상화에서 나왔으며, 각각에 대한 많은 예들이 있다."플롯"(데이터를 렌더링하는 방법), 42개의 "운영자"(데이터를 조작하는 방법), 85개의 파일 형식 판독기, 50개 이상의 "쿼리"(정량적 정보를 추출하는 방법), 100개 이상의 "expression"(유형 수량을 생성하는 방법)이 있다.또한 플러그인 기능으로 새로운 플롯, 연산자 및 데이터베이스 모듈을 동적으로 통합할 수 있다.이러한 플러그인Qt와 Python 사용자 인터페이스의 자동 생성을 포함하여 부분적으로 코드를 생성할 수 있다.

VisIt 프로젝트는 에너지부(DOE) 국가핵안보국(National Nuclear Security Agency)의 첨단 시뮬레이션 및 컴퓨팅(ASC) 프로그램의 일환으로 로렌스 리버모어 국립연구소에서 시작되었지만, 여러 그룹에 의해 개발되고 있는 분산 프로젝트로 발전해 왔다.이 프로젝트의 주요 허브는 다음과 같다.

  • VACET,[7] Office of Science, DOE의 SciDAC(Scientific Discovery with Advanced Computing) 프로그램의 기술 지원 센터
  • ASC로부터, 그리고
  • GNEP(DOE's Office of Nuclear Energy)로부터.

이 프로젝트에는 5개의 DOE 연구소를 포함하여 많은 기관과 대학의 20명의 개발자들이 참여하고 있다.VisIt는 2005년에 R&D 100 상을 받았으며, 매년 약 2만 5천 번 다운로드된다.

특징들

  • 스칼라, 벡터텐서 필드 시각화를 위한 리치 피쳐 세트.VisIt는 2D와 3D 데이터를 똑같이 잘 처리한다.VisIt는 또한 데이터를 애니메이션화하는 기능을 가지고 있어 사용자가 데이터의 시간 진화를 볼 수 있다.
  • 정성적, 정량적 시각화분석 제공VisIt는 기존 필드를 사용하여 새 필드를 계산할 수 있는 파생 필드를 지원한다.예를 들어 데이터 집합에 속도 필드가 포함된 경우 속도 크기인 새 필드를 정의할 수 있다.또한 볼륨이나 표면 면적과 같은 파생 수량을 쿼리할 수 있는 일반화된 쿼리 인터페이스를 지원한다.
  • 다중 메시 유형 지원VisIt는 2차원 및 3차원 지점, 직선형, 곡선형, 비정형 메쉬 등 광범위한 연산 메쉬를 지원한다.또한 VisIt는 구조화AMR 메쉬와 CSG 메쉬를 지원한다.
  • 강력한 기능을 갖춘 그래픽 사용자 인터페이스VisIt의 그래픽 사용자 인터페이스는 초보 사용자가 데이터를 빠르게 시각화할 수 있을 뿐만 아니라 파워 유저들이 고급 기능에 접근할 수 있게 해준다.여러 개의 시간 단계가 포함된 데이터 세트에서 자동으로 시간 기반 애니메이션을 만든다.사용자가 정교한 애니메이션을 만들 수 있는 키프레임 애니메이션 기능도 갖췄다.VisIt를 사용하면 마우스를 사용하여 대화식으로 개체를 이동, 확대/축소회전할 수 있다.그것은 또한 사용자에게 평면이나 구와 같은 기하학적 물체의 크기와 위치를 상호작용적으로 조절할 수 있는 능력을 준다.
  • 병렬 및 분산 아키텍처.VisIt는 매우 큰 데이터 세트를 대화식으로 처리하기 위해 분산되고 병렬적인 아키텍처를 채택한다.VisIt의 렌더링데이터 처리 기능은 뷰어엔진 구성 요소로 분할되어 여러 시스템에 분산될 수 있음:
    • 뷰어렌더링을 담당하며 일반적으로 로컬 데스크톱 또는 시각화 서버에서 실행되므로 매우 강력한 그래픽 카드를 활용할 수 있다.
    • 엔진은 데이터 처리와 입출력의 대부분을 담당하며 일반적으로 데이터가 위치한 원격 기계에서 작동된다.따라서 데이터를 이동할 필요가 없어지고 고급 컴퓨팅 및 I/O 리소스를 사용할 수 있게 된다.엔진은 단일 프로세서에서 연속적으로 작동하거나 수천 개의 프로세서에서 병렬로 작동할 수 있다.
  • C++, PythonJava와의 인터페이스.C++와 Java 인터페이스는 VisIt에 대체 사용자 인터페이스를 제공하거나 기존 C++ 또는 Java 애플리케이션이 시각화 지원을 추가할 수 있도록 한다.Python 스크립팅 인터페이스는 사용자에게 스크립팅 언어를 사용하여 프로세스 데이터를 배치하는 기능을 제공한다.이 기능은 극도로 정교한 애니메이션을 만들거나 회귀 분석 세트를 구현하는 데 사용할 수 있다.
  • 동적으로 로드된 플러그인으로 확장 가능.VisIt는 동적으로 로드된 플러그인을 사용하여 확장성을 달성한다.VisIt의 모든 플롯, 연산자데이터베이스 리더는 플러그인으로 구현되며 플러그인 디렉토리에서 런타임에 로드된다.새 플러그인은 이 디렉토리에 설치하기만 하면 추가할 수 있다.VisIt는 그래픽 플러그인 생성 툴과 함께 제공되어 새로운 플러그인 생성 프로세스를 크게 간소화한다.

참고 항목

참조

  1. ^ "Release Notes for VisIt 3.2.0".
  2. ^ "VisIt Releases".
  3. ^ "Official homepage".
  4. ^ "R&D 100 Awards Archives".
  5. ^ "Public Affairs Office: Lab Wins Four R&D 100 Awards".
  6. ^ "SciDAC program".
  7. ^ "The Visualization and Analytics Center for Enabling Technologies (VACET)".

외부 링크