News

  -- -->

New computational and visualization server installed in December 2009!

The server consists of 4 nodes, each with Quad-Core Xeon, two graphical Nvidia processors and Infiniband (QDR) as communication layer. Specialized software enables application development and execution. The main purpose of the system is research in the field of heterogeneous computations with visualization on-line.

First in the Department of Computer Science high performance workstation and computational server with Intel Nehalem quadcore Core i7 processor installed in June 2009! Additionally equipped with two GeForce 9800GT graphical processors.

It has been lent by Intel Polska and Action - Polish Computer Company.

Its main purpose is research on global illumination algorithms and on simulation and visualization algorithms.

 

 

Since July, 1-th 2007 we own a tape library ATL7100 and a Optical Jukebox HP 660ex, supported by HP N-class server.

Together with the existing tape library ATL4/52, HP D-class server and HSM Software (DiskXtender and Castor) it defines unique experimental facility and offers unprecedented opportunity for students !

Our Working Horse

For simulation experiments and for proof-of-concept in mathematical modelling we use our HP DL585 server with 4 two-core AMD Opteron processors running at 1.8GHz with large 20GB RAM memory.

PrintEmail

Parallel and Distributed Computing Laboratory

 


click and move your mouse over the image to look around, use scroll
new window

Wyposażenie pracowni

Dla potrzeb kształcenia oraz prac badawczych z zakresie przetwarzania rozproszonego i obliczeń równoległych Grupa posiada dwa klastry:

Racksaver cluster blade cluster

Pierwszy klaster Racksaver Cluster (10x2 AMD 2800+, 1GB RAM, FE, Dolphin Scali networks) składa się z dziesięciu komputerów, połączonych wysokowydajnymi interfejsami SCI.

Drugi klaster - TYPU BLADE - jest produkcji HP. Jego cechy są następujące:: HP Blade Cluster System – 18 Blades BL20p G3 (18x2 Pentium Xeon 2.8GHz, 1GB RAM, 72GB disk, GbE)

Oba klastry służą także do prac naukowo-badawczych związanych z rozwojem technologii gridowych.

Na obu klastrach używa się środowisk programowania równoległego MPI oraz PVM.

Prowadzone zajęcia



W laboratorium odbywają się zajęcia z przedmiotu "algorytmy równoległe". W czasie ich trwania studenci wykonują następujące ćwiczenia.

 

Równoległy algorytm mnożenia macierzy Celem ćwiczenia jest implementacja równoległego algorytmu mnożenia macierzy przy użyciu różnych kombinacji technik dostępnych w MPI, np. tylko w oparciu o operacje punkt-punkt, w oparciu o komunikację kolektywną oraz przy użyciu komunikacji kolektywnej i dodatkowo pochodnych typów danych. Należy porównać wydajność poszczególnych realizacji algorytmu. Plan ćwiczenia:

  1. Projekt algorytmu mnożenia macierzy.
  2. Koncepcja różnych wariantów implementacji algorytmu.
  3. Implementacja w oparciu o komunikację punkt-punkt (zadanie dodatkowe: przetestowanie różnych wariantów tej komunikacji).
  4. Implementacja w oparciu o komunikację kolektywną.
  5. Implementacja przy użyciu różnych wariantów komunikacji i pochodnych typów danych.
  6. Pomiar wydajności różnych wariantów implementacji.

Równoległa transpozycja macierzy Celem ćwiczenia jest powtórzenie poznanych wcześniej przez studentów zaawansowanych mechanizmów środowiska MPI. Konieczna jest znajomość złożonych operacji komunikacji kolektywnej oraz wirtualnych topologii. Przykładem algorytmu, do którego te mechanizmy mogą być efektywnie wykorzystane jest transpozycja macierzy. W trakcie ćwiczenia należy napisać program w MPI, który:

  1. Generuje macierz (dla uproszczenie można założyć że jest to macierz kwadratowa). Każdy proces generuje tylko swoją część macierzy - należy zastanowić sie nad wygodnym podziałem (blokowy, inny?).
  2. Wypisuje macierz na ekran (w tym celu potrzebne może być przesłanie elementów macierzy do procesu zerowego -- można spróbować zrobić to bez tego przesyłania -- jak?).
  3. Transponuje macierz przy użyciu pochodnych typów danych oraz instrukcji komunikacyjnej all-to-all.
  4. Wypisuje na ekran macierz po transpozycji.

Wskaźniki wydajności algorytmów równoległych Celem ćwiczenia jest zapoznanie się z technikami oceny wydajności programów równoległych. Konieczna jest znajomość zasad zrównoleglania programów sekwencyjnych. Przykładem algorytmu, do którego mogą być wykorzystane techniki oceny wydajności, może być Kernel EP z zestawu benchmarków NAS. Implementacja i pomiar wydajności własnych algorytmów komunikacji kolektywnej Celem ćwiczenia jest implementacja dwóch wybranych operacji komunikacji kolektywnej MPI przy użyciu komunikacji punkt-punkt. ćwiczenie zaplanowane jest na dwa tygodnie. Plan ćwiczenia:

  1. Wybór dwóch operacji kolektywnych.
  2. Opracowanie dwóch algorytmów dla każdej z wybranych operacji (na podstawie literatury lub własnego pomysłu).
  3. Implementacja wybranych algorytmów.
  4. Przeprowadzenie testu wydajności zaimplementowanych algorytmów. Porównanie wydajności z odpowiednią funkcją biblioteki MPI.

Zrównoleglenie algorytmu w oparciu o metodę dekompozycji domenowej i metodologię PCAM Celem ćwiczenia jest zapoznanie się z techniką zrównoleglenia algorytmów sekwencyjnych poprzez podział danych. Konieczna jest znajomość zasad przetwarzania równoległego. Przykładem algorytmu, do którego może być zastosowana przedstawiona technika, jest algorytm sortowania. Laboratorium zaplanowane jest na trzy tygodnie. Plan ćwiczenia:

  • Zaimplementować program realizujący równoległe sortowanie z użyciem biblioteki MPI.
  • Wykorzystać różne sposoby komunikacji: punkt-punkt i kolektywną.
  • Przeprowadzić eksperymenty zmieniając rozmiar zadania, i liczbę procesorów.
  • Na podstawie uzyskanych danych pomiarowych wysunąć wnioski, jakie czynniki jak wpływają na efektywność i przyspieszenie.

Zrównoleglenie algorytmu w oparciu o metodę dekompozycji funkcjonalnej i metodologię PCAM Celem ćwiczenia jest implementacja programu równoległego rozwiązującego wybrany problem metodą dekompozycji funkcjonalnej z użyciem metodologii PCAM. Laboratorium zaplanowane jest na trzy tygodnie. Plan ćwiczenia:

  1. Zapoznanie się z algorytmem drzewa poszukiwań oraz strategią branch and bound.
  2. Analiza sposobu zrównoleglania algorytmu drzewa poszukiwañ z uwzględnieniem metodologii PCAM.
  3. Implementacja problemu rozplanowania powierzchni.
  4. Wybór problemu do zrównoleglania przy zastosowaniu dekompozycji funkcjonalnej i strategii PCAM.
  5. Projekt algorytmu równoległego dla wybranego problemu.
  6. Implementacja opracowanego algorytmu.

Badanie równoważenia obciążenia w schemacie master-worker na przykładzie obliczania zbioru Mandelbrota Celem ćwiczenia jest zapoznanie się ze schematem zrównoleglania typu farma zadañ (inne terminy: Parameter Study, Master-Worker, Embarassingly Parallel Programs) na przykładzie równoległego obliczania zbioru Mandelbrota. ćwiczenie zaplanowane jest na dwa tygodnie. Plan ćwiczenia:

  1. Uruchomić program Mandel dla ilości dostępnych procesorów,
  2. Zmierzyć doświadczalnie przyspieszenie i efektywność -- zrobić wykres -- wyjaśnić jego kształt,
  3. Zobaczyć wyniki osiągnięte na 32-procesorowej maszynie Sun w pliku times.dat -- zrobić wykres,
  4. Poeksperymentować z ziarnistością zadañ i zbadać jak zmienia się przyspieszenie i efektywność. Czy podział zadañ pomiędzy robotników jest dobrze rozłożony?

PrintEmail

High Availability Systems Laboratory

 


click and move your mouse over the image to look around, use scroll
new window

Wyposażenie pracowni

biblioteka ATM biblioteka ATM
Sercem tej pracowni jest serwer HP klasy D wyposażony w dwa procesory PA-RISC 8000/180Mhz i 374MB RAM sterujący robotem taśmowym (automatyczną biblioteką) ATL 4/52 z 4 napędami DLT2000, 52 taśmami typu III o pojemności 520GB i przepustowości 5MB/s. Zarządzanie biblioteką odbywa się z wykorzystaniem systemu DiskXtender (obecnie Legato Software, poprzednio opracowany przez Unitree Software). Planuje się implementację drugiego systemu zarządzania - Castor (zainstalowanego na serwerze pracującym pod kontrolą systemu operacyjnego Linux) - pochodzącego z ośrodka CERN.

Nasze roboty Nasze roboty

Od 1 lipca 2007 nasze laboratorium wzbogaciło się o nową bibliotekę taśmową ATL7100 oraz bibliotekę dysków magnetooptycznych HP 660ex. Biblioteka taśmowa ATL7100 jest wyposażona w cztery napędy Quantum DLT7000 oraz 100 slotów na nośniki danych, którymi są kasety CompacTape IV. Całkowita pojemnośæ biblioteki ATL7100 wynosi 7 TB, Biblioteka dysków magneto-optycznych HP 660ex jest wyposażona w cztery napędy typu HP 5200 oraz 128 slotów na nośniki, którymi są dyski magneto-optyczne wielokrotnego zapisu o pojemności 5.2 GB każdy. Ważną cechą tego urządzenia jest znacznie krótszy niż w przypadku z bibliotek taśmowych czas dostępu do danych. Całkowita pojemnośæ biblioteki dysków magneto-optycznych HP660ex wynosi 660 GB (Źródło: ACK Cyfronet AGH)

PrintEmail

Computer Graphics Laboratory

Hot NEWS

Ostatnio zakupiony serwer obliczeniowo-wizualizacyjny znajduje się w fazie instalacji.

Stanowi on klaster 4 komputerów z procesorem Nahelem (Core i7), w każdym z nich są zainstalowane dwie karty graficzne Nvidia, komunikacja pomiędzy serwerami realizowana w standardzie IB QDR. Rozwój oprogramowania oraz obliczenia specjalizowane środowisko programistyczne.

Więcej informacji na stronie głównej.

Wyposażenie pracowni

W pracowni grafiki komputerowej znajduje się następujący sprzęt:

Stacje graficzne

[DELL 370] [DELL 470 & DELL 670]

DELL 670 2 * Intel Xeon 2.8GHz HT cache 1MB, 1GB RAM, nVidia Quadro FX 1300 2 szt
DELL 470 2 * Intel Pentium 4 2.8GHz HT cache 1MB, 1GB RAM, ATI FireGL V3100 3 szt.
DELL 370 Intel Pentium 4 2.8GHz HT cache 1MB, 1GB RAM, ATI FireGL V3100 2 szt.
SGI Intel Pentium 3 800MHz cache 256KB, 128MB RAM, ATI Radeon 9200 5 szt.

[SGI 230]

Inny sprzęt

Kamera cyfrowa miniDV SONY DCR HC 14 1 szt.
Aparat cyfrowy Nikon Coolpix 5400 1 szt.
Skaner Microtek ScanMaker 4800 1 szt.
Tablet Pentagram O`pen XXL 2 szt.
Okulary migawkowe i-O Display Systems 3 szt.

Oprogramowanie

Na każdym komputerze zainstalowane są dwa systemy operacyjne: Linux Fedora Core oraz Windows 2000 Proffesional. W systemie Linux oprócz standardowych narzędzi programistycznych (kompilatory języka C/C++, biblioteka GLUT, itp) dostępne są programy Gimp i Blender. Z kolei w systemie Windows zainstalowane jest między innym środowisko .NET, DirectX SDK, itp.
Rozbudowę tej podstawowej bazy programistycznej stanowi specjalistyczne oprogramowanie wyszczególnione w poniższej tabeli:

Adobe Photoshop CS CE 5 szt.
3ds max 7 3 szt.
Amira 2 szt.
Pinnacle Studio 9 1 szt.

Prowadzone zajęcia

[Our laboratory]

W laboratorium odbywają się zajęcia z przedmiotu "grafika komputerowa". W czasie ich trwania studenci wykonują następujące ćwiczenia.

Transformacje geometryczne i rzutowanie w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:

  1. Stworzenie dowolnej trójwymiarowej sceny z wykorzystaniem dostępnych prymitywów;
  2. Wykonanie transformacji geometrycznych w czasie budowania sceny;
  3. Zastosowanie rzutowania ortogonalnego oraz perspektywy w wyświetlaniu sceny na ekranie;
  4. Wykorzystanie przekształceñ geometrycznych do zmiany położenia obserwatora - oglądanie animowanej sceny z różnych punktów.

Modelowanie oświetlenia sceny i nakładanie tekstur w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:

  1. Stworzenie dowolnej trójwymiarowej sceny z wykorzystaniem dostępnych prymitywów oraz utworzeniem własnych obiektów złożonych z wielokątów (oprócz zbudowania dowolnych brył należy stworzyć pofalowaną siatkę z trójkątów lub prostokątów);
  2. Policzenie wektorów normalnych dla tworzonych obiektów;
  3. Zdefiniowanie kilku źródeł światła - zarówno punktowych jak i kierunkowych;
  4. Dobranie różnych własności materiałów w celu uzyskania efektów różnych powierzchni (matowe, błyszczące, metaliczne itp);
  5. Nałożenie tekstur na tworzone obiekty.

Wykorzystanie okularów migawkowych do oglądania wirtualnej sceny stworzonej w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:

  1. Poszerzenie programu stworzonego w OpenGL o dodatkowe efekty, takie jak: przeźroczystość, wygładzanie (anntialiasing), mgła, tworzenie cienia, itp;
  2. Poszerzenie programu o możliwość oglądania za pomocą okularów migawkowych (przy wykorzystaniu biblioteki GLUT).;

Obróbka obrazu rastrowego z wykorzystaniem programu Adobe Photoshop Celem ćwiczenia jest uzyskanie zdjęć (wykonanie aparatem cyfrowym i skanowanie) oraz ich korekcji i przygotowanie do druku oraz do publikacji na stronie WWW. W ćwiczeniu należy zrealizować następujące etapy:

  1. Wykonanie kilku zdjęć aparatem cyfrowym (z użyciem lampy błyskowej i bez);
  2. Zeskanowanie przykładowych zdjęć oraz fragmentu ulotki promocyjnej;
  3. Korekcja uzyskanych zdjęć pod kątem wad geometrii (zniekształcenia perspektywistyczne, krzywy horyzont, itp.);
  4. Korekcja obrazu w przestrzeniach CMYK i LAB;
  5. Wyodrębnienie żądanego obiektu z zeskanowanej ulotki i dokonanie jego korekcji;
  6. Przygotowanie uzyskanych obrazów do publikacji na stronie WWW oraz do wydruku.

Elementy programowania w języku Cg Celem ćwiczenia jest napisanie programu w języku Cg (stworzony przez nVidię i pozwalający na współpracę zarówno z biblioteką OpenGL jak i DirectX). Program ten powinien zawierać następujące elementy:

  1. Wykonanie i uruchomienie programu wykorzystującego OpenGL i Cg, który dla zadanej sceny wylicza model oświetlenia metodą Phonga;
  2. Rozbudowa programu o mapowanie na obiekty sceny otoczenia rozpiętego na kostce sześciennej;
  3. Rozbudowa programu o wykonanie mapowania nierówności (bumpmapping) na powierzchni obiektów sceny.

Programowanie kart graficznych (vertex shader i pixel shader) Celem ćwiczenia jest napisanie programów wykorzystujących techniki związane z vertex shader i pixel shader obrazujące przykładowe efekty możliwe do uzyskania przez te techniki. Powinny one współpracować z biblioteką OpenGL lub DirectX. Tworzenie animacji w programie Blender lub 3ds max Celem ćwiczenia jest stworzenie w programie Blender lub 3ds max animowanej sceny zawierającej następujące elementy:

  1. Utworzenie trójwymiarowej sceny zawierającej różne obiekty i kilka świateł;
  2. Stworzenie animacji sceny i świateł;
  3. Nałożenie tekstur na obiekty.

PrintEmail