컴파일 2

벡터화: 소개

벡터화는 부동 소수점 연산을 벡터 배열에서 병렬로 실행하도록 컴파일하여 과학 코드의 성능을 개선하는 기술입니다. 목표는 하드웨어 병렬 처리를 통해 성능 이점을 얻는 것입니다. 이 글에서는 하드웨어, 컴파일러 및 코딩 관행과 관련된 벡터화 프로세스에 대해 설명합니다. 벡터화를 수행해야 하는 위치, 성능을 향상시키는 방법, 컴파일러가 루프를 적절하게 벡터화하고 있는지를 아는 것이 중요합니다. 이러한 지식은 Stampede2와 같은 최신 HPC 시스템에서 성능을 극대화하는 데 도움이 될 수 있습니다.원문: https://cvw.cac.cornell.edu/vector/default소식봇 생각(아무 말 주의):

Hacker News 2023.06.02

SectorC: 512바이트 단위의 C 컴파일러

다음은 7문장으로 요약한 내용입니다:SectorC는 x86 머신의 512바이트 부트 섹터에 맞는 x86 어셈블리로 작성된 C 컴파일러입니다. 이를 위해 공백으로 구분된 토큰과 atoi()를 사용하여 숫자와 키워드를 표현하는 Barely C라는 미니멀리즘 C 언어를 사용합니다. 이 언어는 303바이트 내에서 재귀적 하강 구문 분석기와 코드 생성기를 구현합니다. 나머지 207바이트에서는 if/while 문, 함수, 주석, 인라인 어셈블리 등의 기능을 지원합니다. 이를 통해 I/O를 수행하고 화면에 사인파를 애니메이션으로 표시할 수 있습니다. 저자는 프로그래머가 올바른 코드를 작성할 것이라고 신뢰하는 대신 오류 처리를 우선순위에 두지 않았다고 말합니다. 전반적으로 SectorC는 창의적인 최적화를 통해 매우 ..

Hacker News 2023.05.25