Ubuntu 18.04, nvidia cuda 설치하기.

Ubuntu 18.04, nvidia cuda 설치

1. GPU 설치 확인
Tesla V100이 설치되어 있으며, device driver가 설치되어 있지 않아서 UNCLAIMED로 표시된다.

$ sudo lshw -c display
  *-display:1 UNCLAIMED
       description: 3D controller
       product: GV100GL [Tesla V100 SXM2 32GB]
       vendor: NVIDIA Corporation
       physical id: 9
       bus info: pci@0000:00:09.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress cap_list
       configuration: latency=0
       resources: iomemory:80-7f iomemory:100-ff memory:fc000000-fcffffff memory:800000000-fffffffff memory:1000000000-1001ffffff

Continue reading

KVM guest에 nvidia GPU 할당할때 오류 처리

KVM guest에 nvidia GPU (path through)할당할때 오류 처리.

Host OS: CentOS 7, 4 nvidia GPU
Guest OS: Ubuntu 18.04

kvm guest에 Nvidia GPU를 할당하고 실행했을때, 아래 오류가 발생했다.
Nvidia GPU는 아래 그림처럼 PCI 디바이스에서 찾아 볼 수 있다.

오류 내용은 아래와 같다.

Error starting domain: unsupported configuration: host doesn't support passthrough of host PCI devices

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 82, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1506, in startup
    self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1080, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: unsupported configuration: host doesn't support passthrough of host PCI devices

Continue reading

[Django Recipe] django-import-export 관리자페이지 적용.

django-import-export 관리자 페이지 적용하기.

django-import-export는 csv, xlsx 등의 파일을 읽어 데이타베이스에 저장하거나, 데이타베이스의 내용을 csv, xlsx등의 파일로 저장하는 기능을 제공한다.
지원되는 파일 포맷은 tablib 가 지원하는 형식이며, tablib는 Excel, JSON, YAML, HTML, Jira, TSV, ODS, CSV, DBF를 지원한다.

1. 설치

pip install django-import-export

2. 설정

project/settings.py 에 아래 내용 추가

INSTALLED_APPS = [
    ...
    'import_export',
    ...
]
manage.py collectstatic

Continue reading

[Django Recipe] 디자인 부담을 덜어주는 django-adminlte3 – part 3

django-adminlte3 – part 3

django-adminlte3와 django-mptt로 사이드바 tree 메뉴 만들기

django-mptt 설치와 설정은 django-mptt로 tree구조 만들기(https://blog.boxcorea.com/wp/archives/2605)를 참고하면 된다.

관리자페이지에서 아래와같은 tree구조를 만들었고, 이것을 사이드바에 tree 구조로 보이도록 view를 만들어본다.

project/app/urls.py에 url을 등록한다.

urlpatterns = [
    path('category', CategoryView.as_view(), name='category'),
    path('test/', TestView.as_view(), name='test'),
]

project/app/views.py 에 아래와 같이 view를 만든다.

class CategoryView(View):
    template_name = 'chaser/category.html'

    def get(self, request):
        context = {
            'categories': Category.objects.all(),
        }
        return render(request, self.template_name, context)

Continue reading

[Django Recipe] 디자인 부담을 덜어주는 django-adminlte3 part-2

웹 디자인 부담을 덜어주는 django-adminlte3 part-2

base.html 살펴보기.

base.html 아래 링크를 참고하여 템플릿에서 사용할 수 있는 블럭의 이름을 알 수 있다.
https://github.com/d-demirci/django-adminlte3/blob/master/adminlte3/templates/adminlte/base.html

먼저, 간단히 사이트 이름과 페이지 제목을 변경하고 싶다면, block title_outer를 설정한다.

project/templates/index.html 에 title을 설정하면 index.html을 상속받는 모든 페이지에 적용되며, test.html에 설정하면 test.html을 사용하는 페이지에만 적용된다.

index.html에 적용하는 경우

{% extends 'adminlte/base.html' %}
{% block title_outer %}
<title>{% block title %}Chaser{%endblock %}</title>
{% endblock %}

test.html에도 적용된다.

{% extends '../index.html' %}
{% block content %}
test page...
{% endblock %}

이제 http://localhost:8000/test 에 접속하면 페이지 제목이 보인다.

Continue reading

[Django Recipe] 웹 디자인 부담을 덜어주는 django-adminlte3 – part 1

웹 디자인 부담을 덜어주는 django-adminlte3 – 1부

adminlte는 다양한 기능을 제공하는 웹템플릿으로 많은 개발자들이 사용한다. 다양한 기능을 편리하게 사용할 수있는 장점이 있으나, 많은 개발자들이 사용하므로 디자인이 비슷하다는 단점이 있다.
adminlte는 현재 버전3 까지 나와 있다.

* 작업환경
python: 3.6
django: 3.0
os: windows 10

1. 설치 및 설정

설치

pip install django-adminlte3

설정
django project 의 settings.py에 app을 등록한다.
이때, 순서가 중요하다. adminlte3 이 adminlte3_theme보다 먼저와야 하며, 이 두 app은 django.contrib.admin 이 전에 설정해야한다.

INSTALLED_APPS = [
    # installed 3rd party app
    'adminlte3',
    'adminlte3_theme',

    # 아래부터는 django 기본 설정 app
    'django.contrib.admin',
    'django.contrib.auth',
    ....
]

manage.py collectstatic 명령을 내리면, static 디렉토리에 필요한 파일들이 복사된다.

manage.py collectstatic

Continue reading

Extreme 스위치 시간 설정

Extreme 스위치  시간 설정하기(EXOS 시간 설정)

1. 현재 시간 확인

show switch 명령을 내리면 여러가지 정보가 보여지는데, 현재 시간은 current time 항목을 확인하면 된다.

Switch.1 # show switch

SysName:          Switch
SysLocation:      
SysContact:       support@extremenetworks.com, +1 888 257 3000
System MAC:       00:04:96:51:A9:D5
System Type:      X450e-24p

SysHealth check:  Enabled (Normal)
Recovery Mode:    All
System Watchdog:  Enabled

Current Time:     Tue Mar  3 16:12:35 2020
Timezone:         [Auto DST Disabled] GMT Offset: 540 minutes, name is KST.
Boot Time:        Wed Aug 24 13:55:31 2016
Boot Count:       23
Next Reboot:      None scheduled
System UpTime:    1287 days 2 hours 17 minutes 4 seconds 

Current State:    OPERATIONAL             
Image Selected:   primary                 
Image Booted:     secondary               
Primary ver:      15.3.5.2                
Secondary ver:    15.3.5.2    
                  patch1-10

Config Selected:  primary.cfg                                          
Config Booted:    primary.cfg                                          

primary.cfg       Created by ExtremeXOS version 15.3.5.2
                  145375 bytes saved on Fri Dec 13 14:32:05 2019

Continue reading

nvidia GPU 스트레스 테스트

리눅스 nvidia gpu 스트레스 테스트.

1. 테스트환경
OS: CentOS 7
GPU : Nvidia Tesla V100-SXM2 x 4
CPU: Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz
GPU tools: cuda toolkit

2. gpu burn 다운로드
http://wili.cc/blog/gpu-burn.html 에서 아래 파일을 다운로드 받는다.

http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.0.tar.gz

# curl -O http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.0.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7289  100  7289    0     0   4666      0  0:00:01  0:00:01 --:--:--  4669

Continue reading

web dns query

커맨드라인에서 nslookup 이나 dig를 이용해 dns 쿼리를 가끔 이용하는데, pc를 이용할 수 없는 상황이 생김.

그래서, iPhone web 브라우저에서 dns 쿼리를 가능하게 하도록 프로그램 작성함.(https://webdns.boxcorea.com)

Continue reading

MacOS Catalina 업그레이드 후 32bit app 삭제하기.

MacOS Catalina 부터는 32bit App은 실행되지 않는다. 업그레이드 후에 사용할 수 없는 어플리케이션의 아이콘은 아래 그림처럼 금지(?) 표시가 된다.

Continue reading