문제 현재 유한 요소 탐색기 스토크 스 시뮬레이션에서 작업 중이며 다양한 매개 변수의 효과를 조사하고 싶습니다. 일부 매개 변수는 입력 파일 또는 명령 행 옵션을 통해 지정됩니다. 다른 매개 변수는 Makefile에 플래그로 제공되므로 해당 옵션을 변경할 때마다 코드를 다시 컴파일해야합니다. 매개 변수 공간을 체계적으로 탐색하는 좋은 방법에 대한 조언을 얻고 …
MPI 표준 3.0 버전은 공식적으로 C ++ 인터페이스를 삭제했습니다 (이전에는 더 이상 사용되지 않음). 구현에서 여전히 지원할 수 있지만 MPI-3의 새로운 기능에는 MPI 표준에 정의 된 C ++ 인터페이스가 없습니다. 자세한 내용은 http://blogs.cisco.com/performance/the-mpi-c-bindings-what-happened-and-why/ 를 참조하십시오. MPI에서 C ++ 인터페이스를 제거하려는 동기는 C 인터페이스보다 중요한 가치가 없다는 것이 었습니다. "s / …
C ++로 과학 코드를 작성한다고 가정 해 봅시다. 최근 동료와의 토론에서 표현 템플릿은 정말 나쁜 것일 수 있으며 특정 버전의 gcc에서만 소프트웨어를 컴파일 할 수 있다고 주장했습니다. 아마도이 문제는 이 몰락 패러디의 자막에서 암시 된 것처럼 몇 가지 과학적 코드에 영향을 미쳤습니다 . (이것들은 내가 아는 유일한 예이므로 링크입니다.) 그러나 …
학부 수준의 학생들에게 컴퓨터 프로그래밍 소개라는 과정을 가르치려고합니다. 조금 혼란 스러워요. 전산 물리학 과학자들은 C / C ++ 또는 Python 또는 Fortran, CUDA 등을 사용합니다. 무엇을 사용해야합니까? 나는 당신이 당신의 인생에서 언제든지 새로운 프로그래밍 언어를 배울 수 있다는 것을 알고 있지만 나중에 모든 기본 프로그래밍 개념과 OOP 개념을 구체화하는 것이 …
과학 컴퓨팅에서 C ++ 현대 기능 (이동 의미론, STL, 반복자, 게으른 평가 등)의 사용을 구체적으로 다루는 서적, 기사 또는 블로그 게시물 또는 일반적으로 게시되는 자료를 찾고 있습니다. 당신은 어떤 제안 할 수 있습니까? 이러한 새로운 기능으로 효율적인 코드를보다 쉽게 작성할 수 있다고 생각하지만 실제 예제는 찾지 못했습니다. 내가 읽은 대부분의 …
차원에 관계없이 코드를 지원하는 C ++ 텐서 라이브러리를 찾고 있습니다. 특히 가중 합계 계산과 같이 각 차원 (최대 3 개)을 따라 작업을 수행해야합니다. 차원은 템플릿 매개 변수 (따라서 컴파일 타임 상수)입니다. 또 다른 제약은 라이브러리가 비교적 경량이어야하므로 Trilinos / PETSc보다 고유 / 부스트 스타일입니다. 어떤 제안? 참고 : 나는 Eigen을 …
여러 부동 소수점 값 (단일 또는 이중)을 입력으로 사용하고 계산을 수행하며 출력 부동 소수점 값 (단일 또는 이중)을 생성하는 함수가 있다고 가정합니다. 저는 주로 MSVC 2008과 함께 일하고 있지만 MinGW / GCC 와도 함께 일할 계획입니다. C ++로 프로그래밍 중입니다. 결과적으로 얼마나 많은 오류가 발생하는지 프로그래밍 방식으로 측정하는 일반적인 방법은 …
처음부터 병렬 과학 계산 소프트웨어를 개발하고 싶습니다. 어떤 언어를 시작할지 생각하고 싶습니다. 이 프로그램에는 많은 LU 인수 분해 및 희소 선형 솔버 사용과 함께 데이터를 txt 파일로 읽고 쓰는 작업과 많은 계산을 동시에 수행하는 작업이 포함됩니다. 내가 생각한 후보 솔루션은 OpenMP 또는 공동 배열을 사용하는 Fortran 2003/2008, openmp cilk + …
흐름에 존재하는 생물학적 물질로 유체 흐름을 시뮬레이션하는 코드를 개발 중입니다. 여기에는 몇 가지 추가 생물학적 모델과 결합 된 표준 Navier-Stokes 방정식이 포함됩니다. 많은 매개 변수 / 상수가 있습니다. 주요 계산을 처리하는 함수를 작성했지만 문제는 이러한 계산에 의존하는 많은 상수 / 매개 변수입니다. 함수에 10-20 개의 인수를 전달하는 것은 번거로운 것 …
C ++ 언어는 템플릿을 통한 일반적인 프로그래밍 및 메타 프로그래밍 을 제공합니다 . 이러한 기술은 많은 대규모 과학 컴퓨팅 패키지 (예 : MPQC , LAMMPS , CGAL , Trilinos )에 적용되었습니다. 그러나 전체 개발 시간과 동일하거나 적절한 효율성에 대한 유용성 측면에서 C 또는 Fortran과 같은 비 제네릭, 비 메타 언어를 …
MPI에서 가장 싫어하는 것은 데이터 지향 (예 : 데이터 맵 / 마스크)을 처리하는 것입니다. 왜냐하면 객체 지향 C ++에는 잘 맞지 않기 때문입니다. boost::mpi그러나 웹 사이트에서 MPI 1.1 만 지원합니다. boost :: mpi는 표준 메시지 전달 인터페이스에 대한 C ++ 친화적 인 인터페이스입니다. Boost.MPI는 Boost.Serialization 라이브러리를 사용하여 사용자 정의 형식에 …
Eigen , Trilinos 및 deal.II 와 같은 계산 과학에서 잘 알려진 C ++ 라이브러리 std::complex<>는 복잡한 부동 소수점 숫자를 나타내는 표준 C ++ 템플릿 헤더 라이브러리 객체를 사용 합니다. 기본 생성자에 대한 질문에 대한 Jack Poulson의 답변 에서 그는 "여러 가지 이유로" Elementalstd::complex 에서 자신의 구현을 가지고 있다고 지적합니다 . …
함수 는 x = 0 근처에 특이점을 갖습니다 . 님 비록 그 특이점이 해제 될 수있다 , X = 1 , 하나 있어야 F ( X ) = 1을 보낸 사람, 즉 X = Σ K = 0 X Kf:x↦(ex−1)/xf:x↦(ex−1)/xf \colon x \mapsto (e^x-1)/xx=0x=0x = 0x=1x=1x = 1f(x)=1f(x)=1f(x) = 1 …