1 |
1
적어도 하나의 프로세서에 의해 실행되는, 프로그램에 대한 중간 표현을 관리하는 방법에 있어서,상기 프로그램으로부터 입출력을 위한 데이터에 대한 정보 및 연산에 대한 정보를 추출하는 단계;상기 추출된 데이터에 대한 정보 및 상기 추출된 연산에 대한 정보를 이용하여 상기 프로그램에 대한 중간 표현을 생성하는 단계;상기 프로그램과 상기 중간 표현의 대응 관계를 데이터베이스에 저장하는 단계;상기 중간 표현의 연산에 대한 실행 정보를 저장하는 단계; 및상기 실행 정보를 기초로, 상기 중간 표현의 적어도 일부를 삭제하는 단계를 포함하고,상기 프로그램은 딥 러닝(deep learning) 프로그램을 포함하고,상기 프로그램의 데이터는 텐서(tensor) 타입의 데이터를 포함하고,상기 중간 표현을 생성하는 단계는,상기 추출된 데이터에 대응하는 복수의 데이터 노드를 생성하는 단계; 상기 추출된 연산에 대응하는 연산 노드를 생성하는 단계; 상기 추출된 연산의 입력 데이터에 대응하는 입력 데이터 노드로부터 상기 추출된 연산에 대응하는 연산 노드로 향하는 엣지를 생성하는 단계; 및 상기 추출된 연산에 대응하는 연산 노드로부터 상기 추출된 연산의 출력 데이터에 대응하는 출력 데이터 노드로 향하는 엣지를 생성하는 단계를 포함하고,상기 프로그램과 상기 중간 표현의 대응 관계를 상기 데이터베이스에 저장하는 단계는,상기 추출된 데이터와 상기 복수의 데이터 노드 사이의 관계를 상기 데이터베이스에 저장하는 단계를 포함하고,상기 중간 표현의 연산에 대한 실행 정보를 저장하는 단계는, 상기 중간 표현의 연산의 실행 여부에 대한 정보를 저장하는 단계;상기 중간 표현의 연산 중 미실행된 연산의 적어도 일부를 실행될 연산으로서 선택하는 단계;상기 선택된 연산을 실행하는 단계; 및 상기 선택된 연산이 실행되었다는 정보를 갱신하는 단계 를 포함하고,상기 중간 표현의 적어도 일부를 삭제하는 단계는,상기 실행 정보를 기초로, 상기 복수의 데이터 노드 및 상기 연산 노드 중에서 적어도 하나의 노드를 추후 사용하지 않을 노드로서 선택하는 단계;상기 선택된 적어도 하나의 노드를 삭제하는 단계; 및상기 선택된 적어도 하나의 노드와 연관된 엣지를 삭제하는 단계를 포함하고,상기 적어도 하나의 노드는 제1 데이터 노드를 포함하고,상기 데이터베이스에 포함된 모든 데이터가 상기 제1 데이터 노드에 대응되지 않으며, 상기 제1 데이터 노드와 연관된 연산 노드가 없거나 모두 실행된 노드이고,상기 적어도 하나의 노드는 제1 연산 노드를 포함하고,상기 제1 연산 노드는 실행된 노드인, 프로그램에 대한 중간 표현을 관리하는 방법
|
11 |
11
정보 처리 시스템으로서,메모리; 및상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로그램은,대상 프로그램으로부터 입출력을 위한 데이터에 대한 정보 및 연산에 대한 정보를 추출하고,상기 추출된 데이터에 대한 정보 및 상기 추출된 연산에 대한 정보를 이용하여 상기 대상 프로그램에 대한 중간 표현을 생성하고,상기 대상 프로그램과 상기 중간 표현의 대응 관계를 데이터베이스에 저장하고,상기 중간 표현의 연산에 대한 실행 정보를 저장하고,상기 실행 정보를 기초로, 상기 중간 표현의 적어도 일부를 삭제하기 위한 명령어들을 포함하고,상기 프로그램은 딥 러닝(deep learning) 프로그램을 포함하고,상기 프로그램의 데이터는 텐서(tensor) 타입의 데이터를 포함하고,상기 중간 표현을 생성하는 것은,상기 추출된 데이터에 대응하는 복수의 데이터 노드를 생성하고, 상기 추출된 연산에 대응하는 연산 노드를 생성하고,상기 추출된 연산의 입력 데이터에 대응하는 입력 데이터 노드로부터 상기 추출된 연산에 대응하는 연산 노드로 향하는 엣지를 생성하고,상기 추출된 연산에 대응하는 연산 노드로부터 상기 추출된 연산의 출력 데이터에 대응하는 출력 데이터 노드로 향하는 엣지를 생성하는 것을 포함하고,상기 프로그램과 상기 중간 표현의 대응 관계를 상기 데이터베이스에 저장하는 것은,상기 추출된 데이터와 상기 복수의 데이터 노드 사이의 관계를 상기 데이터베이스에 저장하는 것을 포함하고,상기 중간 표현의 연산에 대한 실행 정보를 저장하는 것은, 상기 중간 표현의 연산의 실행 여부에 대한 정보를 저장하고,상기 중간 표현의 연산 중 미실행된 연산의 적어도 일부를 실행될 연산으로서 선택하고,상기 선택된 연산을 실행하고,상기 선택된 연산이 실행되었다는 정보를 갱신하는 것을 포함하고,상기 중간 표현의 적어도 일부를 삭제하는 것은,상기 실행 정보를 기초로, 상기 복수의 데이터 노드 및 상기 연산 노드 중에서 적어도 하나의 노드를 추후 사용하지 않을 노드로서 선택하고,상기 선택된 적어도 하나의 노드를 삭제하고,상기 선택된 적어도 하나의 노드와 연관된 엣지를 삭제하는 것을 포함하고,상기 적어도 하나의 노드는 제1 데이터 노드를 포함하고,상기 데이터베이스에 포함된 모든 데이터가 상기 제1 데이터 노드에 대응되지 않으며, 상기 제1 데이터 노드와 연관된 연산 노드가 없거나 모두 실행된 노드이고,상기 적어도 하나의 노드는 제1 연산 노드를 포함하고,상기 제1 연산 노드는 실행된 노드인, 정보 처리 시스템
|