Linux-koneista löytyvä sftp-ohjelma soveltuu tiedostojen siirtämiseen GPU-palvelimen ja lokaalin tietokoneen välillä. Voit yhdistää palvelimeen seuraavalla komennolla:
sftp tunnus@serveri.fi
Lista komentoja:
Komento | Selitys |
---|---|
ls (kansio) | Listaa palvelimen kansion sisällön |
lls (kansio) | Listaa lokaalin kansion sisällön |
cd kansio | Siirtyy kansioon palvelimella |
lcd kansio | Siirtyy kansioon lokaalilla tietokoneella |
get tiedosto | Lataa tiedoston palvelimelta |
put tiedosto | Siirtää tiedoston palvelimelle |
Lisää tyypillisimmät tiedostotyypit seurantaa, committaa muutokset, puskee Yousourceen:
cd tiea342_sukunimi_etunimi/
git add --ignore-missing *.c *.cpp *.cu *.h *.cl *.txt *.pdf *.png *.svg Makefile README
git commit -a -m "Full commit `date +%F_%R`"
git push origin master
git status -u
Muuta:
git add tiedosto
git commit -a -m "viesti"
git commit -m "viesti" tiedosto
git push origin master
git pull origin master
git stash
git rm poistettava_tiedosto
, git mv vanha_nimi uusi_nimi
Yritä peruuttaa lokaalit muutokset git stash
-komennolla. Komento peruuttaa kaikki tekemäsi lokaalit muutokset edelliseen committiin asti. Menetät siis kaikki tekemäsi muutokset. Käytä varoen. Vielä radikaalimpi ratkaisu on resetoida lokaali repo:
git fetch origin
git reset --hard origin/master
OpenCL-ytimen lähdekoodin alkuun täytyy sisällyttää rivi:
#pragma OPENCL EXTENSION cl_khr_fp64 : enable // Tuplatarkkuus-tuki (double)
Tyypillinen virhetuloste OpenCL-kääntäjältä Nvidian näytönohjaimilla. Viittaa virheeseen ytimen linkityksen aikana ja valitettavasti ei kerro kovin paljoa varsinaisesta ongelmasta. Tässä kuitenkin yleisimmät:
Makon ja piraijan OpenCL-asennuksessa on jotain hassua. Virheestä ei kannata välittää.
// Varataan N*M-taulukko
double** taulukko = new double*[N];
for(int i = 0; i < N; i++)
taulukko[i] = new double[M];
// Taulukkoa voidaan nyt käyttää normaalisti
taulukko[3][5] = 2.0;
// Vapautetaan N*M-taulukko
for(int i = 0; i < N; i++)
delete [] taulukko[i];
delete [] taulukko;
Voit myös varata yksiulotteisen taulukon ja viitata siihen kaksiulotteisesti:
// Varataan N*M-taulukko
double* taulukko = new double[N*M];
// Viitataan N*M-taulukkon alkioon 3,5
taulukko[3*M+5] = 2.0;
// Vapautetaan N*M-taulukko
delete [] taulukko;