CnD

소프트웨어 스크린 샷:
CnD
소프트웨어 정보:
버전: 2012.1
업로드 날짜: 14 Apr 15
개발자: Andreas Kloeckner
라이센스: 무료
인기: 11

Rating: nan/5 (Total Votes: 0)

.

CND는 C에서보다 쾌적한 & NBSP를 N 차원 배열을 사용하여 만드는 파이썬 소스 - 소스 번역가이며 그것은이 코드를 설정합니다 :
무효 sgemm (플로트 *의, 플로트 * B를, 플로트 * C를 INT의 N)
{
& NBSP; 차원 "포트란"[N, N-]
& NBSP; 차원 "포트란"B [N, N-]
& NBSP; 차원 C [N, N-]
& NBSP;에 대한 (; 난 = N <; I = 1 int로 ++ I)
& NBSP;에 대한 (INT의 J = 1; J <= N; ++ J)
& NBSP; {
& NBSP; 부동의 tmp = 0;
& NBSP;에 대한 (INT의 K = 1; K <= N; ++ K)
& NBSP; TMP + = [I, K * B [K, J]
& NBSP [I-1, J-1]을 TMP = C;
& NBSP;}
}
이 현황 :
무효 sgemm (플로트 *의, 플로트 * B를, 플로트 * C를 INT의 N)
{
& NBSP;에 대한 (; 난 = N <; I = 1 int로 ++ I)
& NBSP;에 대한 (INT의 J = 1; J <= N; ++ J)
& NBSP; {
& NBSP; 부동의 tmp = 0;
& NBSP;에 대한 (INT의 K = 1; K <= N; ++ K)
& NBSP; TMP + = [((K - 1) * ((N - 1) + 1)) + (I - 1)] * B 형 [((j - 1) * ((N - 1) + 1) ) + (K - 1)]
& NBSP; C의 [은 ((난 - 1) * N) + (j는 - 1)]의 tmp를 =;
& NBSP;}
}
또한 여분의 종과 경적 몇 가지를 보여줍니다보다 포괄적 인 예제를 살펴 걸릴 수 있습니다.
치수 선언의 유일한 효과는 어레이 (IDX) 첨자 운영자의 해석을 수정하는 것이다. 차원의 선언은 일반 C 범위 지정 규칙을 준수하십시오.
또한 CND는 강력한 파서 기반 번역기가 아닌 색다른 텍스트 교체 도구이므로주의하고 싶습니다. 그것은 C99, 플러스 많은 GNU 확장을 모두 이해한다.
차원 선언의 각 축 사양의 형식은 다음과 같습니다
시작 : 끝 : 보폭 : leading_dimension를
시작은 생략 될 수있다. 말단 및 스트라이드는 생략 될 수 있지만, 그들을 이후에 엔트리가 지정 될 경우, 그 후단 콜론은 제자리에 남아 있어야한다. 예를 들어, 축 명세 : 5 단순히 스트라이드 단순히 지수 승산기로서 작용 (5)의 보폭을 지정한다. 무엇이든지 확인 없음 타당성 치수 선언에 수행되지 않습니다. 당신은 발에 어떤 방식으로 자신을 쏠 수 있습니다.
레이아웃이 전혀 주어 "C"의 여부로 제공되는 경우, 다음 사항에 해당합니다
-이 배열은 행 주요 순서로 배치된다.
- 지정하면 종료 인덱스는, 배타적를 보낸다.
- 0으로 시작 인덱스 기본 설정됩니다.
레이아웃이 "포트란"로 지정되고있는 경우, 다음 사항에 해당합니다
-이 배열은 열 주요 순서로 배치된다.
- 지정하면 종료 인덱스가 포함를 보낸다.
- 1 시작 인덱스 기본 설정됩니다.
치수 선언에 포함 된 지식 (대부분은) follwing을 함수에 의해 프로그램 reobtained 할 수있다 :
- rankof (a)
- nitemsof (a)
- lboundof (축)
- uboundof (a, 축) (사용자 지정 상한을 반환)
- puboundof (축)을 (단지 축의 끝을지나 인덱스를 반환)
- ldimof (축)
- strideof (축)
각각의 경우에, 축이 일정한 정수 (안 상수 표현식, 일반 정수)해야합니다.
설치 / 사용
당신은 패키지 인덱스, 또는 GitHub의에서 타르볼을 다운로드하여 CND를 얻을 수 있습니다 :
& NBSP; 자식 복제 자식 : //github.com/inducer/cnd.git
& NBSP; CD를 CND
 자식 서브 모듈 초기화
& NBSP; 자식 서브 모듈 업데이트
CND을 사용하려면 PATH에 분포-DIR / bin을 추가합니다.
시작하려면 (CND 루트 내에서) 실행
& NBSP; CD 예제
& NBSP; ../ 빈 / cndcc의 gcc -std = C99 basic.c
& NBSP; ./ a.out의
당신이 번역 과정을보다 세밀하게 제어하려는 경우, CND 명령은 소스 - 소스 번역을 제공합니다. 그 CND는 사전 처리 된 소스를 기대합니다. 당신은 CND가 당신을 위해 소스에 전처리를 실행하는 옵션 -E를 통과 할 수있다. 실행
& NBSP; CND -h
명령 줄 인터페이스에 대한 모든 도움을 얻을 수 있습니다. 당신은 당신이 사용하고자하는 프리 프로세서에 CND_CPP 환경 변수를 설정할 수 있습니다.

이 릴리스의 새로운 기능입니다 :

이에서 구문 변경, [I, J]에 [I J]를 선택합니다.
실제 헤더보다 더 파서를 지원합니다.

이 요구 사항 :

이 파이썬

개발자의 기타 소프트웨어 Andreas Kloeckner

PuDB
PuDB

20 Feb 15

PyOpenCL
PyOpenCL

28 Sep 15

코멘트 CnD

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!