PDL::Tipsp - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 PDL::Tipsp 명령입니다.

프로그램:

이름


PDL::팁 - 유용한 아르카나에 대한 작은 정보입니다. 프로그래밍 관련 정보 등.

개요


PDL 사용;

# 여기서 무슨 일이 일어나든.

기술


이 페이지에는 Perl 데이터 언어 사용에 대한 유용한 관용어, 유용한 힌트 및 팁이 기록되어 있습니다.
v2.0.

도움말
내에서 "도움말 도움말"을 사용하십시오. 펄들 or pdl2 또는 명령줄에서 "pdldoc" 프로그램을 사용하세요.
PerlDL 문서에 액세스하려면 페이지의 HTML 버전도 다음과 같아야 합니다.
현재, ~에 HtmlDocs/PDL PDL 배포판의 디렉터리입니다. 이 디렉토리를 찾으려면
다음을 시도해 보세요

pdl> foreach ( map{"$_/PDL/HtmlDocs"}@INC ) { p "$_\n" if -d $_ }

색인 숙어
다음 코드는 $a에 있는 여러 벡터를 정규화합니다. 이는 조건에 관계없이 작동합니다.
$a의 차원

$a /= $a->sumover->더미(0);

is 실제로 사고?
코드가 실제로 수행하는 작업을 보려면 다음 명령을 시도해 보세요.

PDL::코어::set_디버깅(1);

어딘가에. 이로 인해 PDL에 대한 엄청난 양의 디버그 정보가 STDOUT으로 유출됩니다. 계획
미래에는 출력을 리디렉션할 수 있게 하고 다음을 수행할 수도 있게 합니다.
더 정확하게 메시지를 선택하세요.

대부분의 메시지는 "Basic/Core/pdlapi.c"에서 나오며 소스를 보면 알 수 있습니다.
무슨 일이야.

이러한 메커니즘을 작업할 추가 시간이 있으면 pdl-porters 메일링에 알리십시오.
명부.

메모리 저금
큰 덩어리의 특정 인덱스를 선택하는 무언가를 재귀적으로 실행하는 경우,
처럼

동안(1) {
$inds = where($a>0);
$a = $a->index($inds);
$b = $b->인덱스($inds);
func($b,$a);
}

$b에 쓰지 않는 경우 이를 다음과 같이 변경하면 많은 메모리가 절약됩니다.

$b = $b->index($inds)->서버;

새로운 메소드 "sever"는 쓰기 관계를 잊어버리게 만듭니다. 그것은 같다
복사를 제외하고는 원래의 피들을 변경하고 반환합니다).

물론 위의 작업을 수행하는 가장 좋은 방법은 다음과 같습니다.

$inds = xvals ($a->long);
동안(1) {
$inds0 = 여기서($a>0);
$inds1 = $inds->인덱스($inds)->서버;
$a = $a0->index($inds1);
$b = $b->index($inds1)->서버;
func($b,$a);
}

$a의 모든 임시 인스턴스를 메모리에 저장하지는 않습니다. "mandel.pl"을 참조하십시오.
예를 들어 PerlDL 배포판의 Demos 하위 디렉터리입니다.

PP 속도
정말 빠른 PP 코드를 작성하고 싶다면 가장 먼저 해야 할 일은 다음을 확인하는 것입니다.
C 컴파일러가 필요한 최적화를 수행할 수 있는지 확인하세요.

이것이 의미하는 바는 가능한 한 많은 변수를 허용해야 한다는 것입니다.
레지스터:

루프(a) %{
$a() += $COMP(foo_member) * $b()
%}

확장

for(i=0; i<10000; i++) {
a[i] += __privtrans->foo_member * b[i];
}

C 컴파일러는 "a"를 가정하는 것이 허용되지 않기 때문에 당신이 할 수 있는 최악의 상황에 관한 것입니다.
벡터화를 완전히 금지하는 "foo_member"를 방해하지 않습니다. 대신에

float foo = $COMP(foo_member);
루프(a) %{
$a() += 푸 * $b();
%}

이는 PP로 인한 제한이 아니라 ANSI C 의미 체계로 인한 제한입니다. 물론, 우리는 복사할 수 있습니다
구조체를 지역 변수로 변환했다가 다시 되돌리면 매우 이상한 일이 발생할 수 있습니다.
때때로.

루프 구성에는 다른 많은 문제가 있습니다.

우리는 현재 PP가 물리적인 작업뿐만 아니라 고정폭 작업도 할 수 있도록 할 계획입니다.
피들(첫 번째 차원에 대한 반복이 더 적기 때문에 더 저렴할 것입니다.)
이는 고유한 증분으로, 적은 수의 기계에서는 차이를 만들 수 있습니다.
레지스터).

onworks.net 서비스를 사용하여 온라인으로 PDL::Tipsp 사용



최신 Linux 및 Windows 온라인 프로그램